WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
Seiten: 1
Hallo,
ich "baue" eine neue Seite für unseren Sportverein auf Basis des Template Fjatselt Megamenu.
Nun suche ich nach einer Lösung um bei einem Menu Link nur die untergeordneten Seiten zu verlinken und die übergeordnete Seite nicht anzuzeigen.
Also z.B.:
Aktuelles (nur als übergeordnetes Element)
und als zu öffnende Seiten z. B.:
- 1. Mannschaft
- 2. Mannschaft
- A Junioren usw.
Bin aber noch nicht so sicher im Umgang mit php ........
Vielleicht kann mir ja jemand helfen.
Danke.
Offline
Das ist nicht möglich, da das Menü nicht "weiß", ob ein Eintrag eine normale Seite oder ein Menülink ist.
Lass den Menülink über dessen Einstellungen einfach auf die erste untergeordnete Seite zeigen, in Deinem Beispiel würde der Menülink "Aktuelles" also auf "1. Mannschaft" zeigen.
(Was ginge, wäre entweder anhand der Page-ID bei bestimmten oder bei _allen_ Einträgen auf der obersten Ebene mittels einer if-Anweisung im Menüaufruf den href="irgendwas" zu unterdrücken. Der ShowMenu2-Aufruf müsste dann in etwa wie folgt aussehen:
show_menu2(1, SM2_ROOT, SM2_ALL, SM2_ALL|SM2_NUMCLASS, '<li id="p[page_id]"><a [if (page_id!=23) {href="[url]" class="[class]" target="[target]"}]>[if(level=1){<span>- </span>}][if(level=2){<span>-- </span>}][menu_title]</a>', '</li>', '[ul]', '</ul>', false, '<ul class="mega-menu">');
(Seite mit der ID hätte keinen Link)
bzw.
show_menu2(1, SM2_ROOT, SM2_ALL, SM2_ALL|SM2_NUMCLASS, '<li id="p[page_id]"><a [if (level!=0) {href="[url]" class="[class]" target="[target]"}]>[if(level=1){<span>- </span>}][if(level=2){<span>-- </span>}][menu_title]</a>', '</li>', '[ul]', '</ul>', false, '<ul class="mega-menu">');
(Alle Einträge auf der obersten Ebene hätten keinen Link)
NIcht getestet, kann sein, dass das nicht funktioniert.
)
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Danke.
Ich werde mir das mal versuchen so umzusetzen.
Schade eigentlich, dass es so eine Funktion über eine Art Navigationseigenschaften im CMS nicht einstellbar ist.
Bin sicher nicht der einzige, der sich so eine Funktion wünschen würde.
Allerdings weiß ich nicht, ob dies auch umsetzbar ist.
Offline
Es gibt ja verschiedene Strategien, wie CMSse Menüs generieren. Bei WBCE ist es (i.d.R.) show_menu2, das dafür sorgt, dass die Struktur, wie sie im Seitenbaum im Backend steht, sich auch im Menü / in den Menüs im Frontend wiederfindet. Bei Wordpress ist es hingegen afaik so, dass man da das Menü über ein Widget zusammenbauen muss, und bei Joomla ist es, wenn ich das recht erinnere, noch komplizierter. Alle Ansätze haben ihre Vor- und Nachteile.
Noch ein Tipp: Wenn sich an der Seitenstruktur nur sehr selten überhaupt was ändert und/oder der Umfang des Auftritts nicht zig oder hunderte Seiten umfasst, kann es durchaus auch effizienter sein, die Navigation ganz oder teilweise fest einzucodieren, also statt show_menu2 einfach
<ul class"menu">
<li><a href="javascript:void(0)">Aktuelles</a>
<ul>
<li><a href="[wblink23]">Mannschaft A</a></li>
<li><a href="[wblink42]">Mannschaft B</a></li>
</ul>
</li>
usw.
</ul>
ins Template zu setzen.
Beitrag geändert von florian (16.08.2018 09:05:59)
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Ja, ich war etwas OffTopic...
Aber die Lösung von Dir hier: https://forum.wbce.org/viewtopic.php?pid=19308#p19308
ist genau wie ich es auch machen würde. Wobei ich würde den Link (URL) nur dann ausblenden, wenn es keine Childs gibt.
Gruß,
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Danke für eure Bemühungen
@ stefanek
Aber Childs als Unterseiten unter diesem Menupunkt mit ausgeblendeten Inhalt soll es geben.
Warum sollte ich den Link ausblenden, wenn es keine Unterseiten gibt?
Macht für MICH keinen Sinn und verstehe ich auch gerade nicht...
Offline
Ich meinte, es kann sein, dass in der obersten Ebene auch Menü-Punkte sind, die keine Child-Pages haben. Hier würde ich die URL dann natürlich belassen.
Schönen Gruß
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Thema geteilt, zur Handhabung von Menu Links grundsätzlich siehe https://forum.wbce.org/viewtopic.php?id=2301
Code allein macht nicht glücklich. Jetzt spenden!
Offline
@florian
Das ist nicht möglich, da das Menü nicht "weiß", ob ein Eintrag eine normale Seite oder ein Menülink ist.
Lass den Menülink über dessen Einstellungen einfach auf die erste untergeordnete Seite zeigen, in Deinem Beispiel würde der Menülink "Aktuelles" also auf "1. Mannschaft" zeigen.(Was ginge, wäre entweder anhand der Page-ID bei bestimmten oder bei _allen_ Einträgen auf der obersten Ebene mittels einer if-Anweisung im Menüaufruf den href="irgendwas" zu unterdrücken. Der ShowMenu2-Aufruf müsste dann in etwa wie folgt aussehen:
show_menu2(1, SM2_ROOT, SM2_ALL, SM2_ALL|SM2_NUMCLASS, '<li id="p[page_id]"><a [if (page_id!=23) {href="[url]" class="[class]" target="[target]"}]>[if(level=1){<span>- </span>}][if(level=2){<span>-- </span>}][menu_title]</a>', '</li>', '[ul]', '</ul>', false, '<ul class="mega-menu">');
(Seite mit der ID hätte keinen Link)
bzw.show_menu2(1, SM2_ROOT, SM2_ALL, SM2_ALL|SM2_NUMCLASS, '<li id="p[page_id]"><a [if (level!=0) {href="[url]" class="[class]" target="[target]"}]>[if(level=1){<span>- </span>}][if(level=2){<span>-- </span>}][menu_title]</a>', '</li>', '[ul]', '</ul>', false, '<ul class="mega-menu">');
(Alle Einträge auf der obersten Ebene hätten keinen Link)
NIcht getestet, kann sein, dass das nicht funktioniert.
)
Ich habe nun beide Versionen ausprobiert.
Version 1: Page-ID angepasst = es wird die ganze 1. Menüebene die Page-ID unterdrückt
Version 2: siehe Version 1
Offline
ich glaube, bei #1 muss das page_id im if noch in eckige Klammern
if ([page_id] != 23) usw.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
ich glaube, bei #1 muss das page_id im if noch in eckige Klammern
if ([page_id] != 23) usw.
Getestet und das gesamte Menü hat nun keine Links
Offline
Die Frage ist ja sowieso, ob Dir das, selbst wenn es funktionieren würde, überhaupt so schon was nützt. Ist es nur die eine Seite, die nicht verlinkt sein soll, oder gibt es noch weitere solcher Einträge? Denn dann müsste die Abfrage entsprechend angepasst werden.
Beitrag geändert von florian (21.08.2018 14:24:14)
Code allein macht nicht glücklich. Jetzt spenden!
Offline
So, gefunden... es hilft, Doku zu lesen... (note 2 myself)
So gehts:
show_menu2(1, SM2_ROOT, SM2_ALL, SM2_ALL|SM2_NUMCLASS|SM2_PRETTY, '<li id="p[page_id]"><a [if (id == 1) {href="javascript:void(0);"} else {href="[url]" class="[class]"}]>[if(level=1){<span>- </span>}][if(level=2){<span>-- </span>}][menu_title]</a>', '</li>', '[ul]', '</ul>', false, '<ul class="mega-menu">');
Im o.g. Beispiel hat die Seite mit der ID 1 keinen aktiven Link, sondern nur den JS-Platzhalter "void(0)".
Sollen noch mehr Seiten unverlinkt sein, deren IDs als Oder-Anweisung übergeben. In nachfolgendem Beispiel betrifft das dann die Seiten mit der ID 1 und 20:
show_menu2(1, SM2_ROOT, SM2_ALL, SM2_ALL|SM2_NUMCLASS|SM2_PRETTY, '<li id="p[page_id]"><a [if (id == 1 || id==20) {href="javascript:void(0);"} else {href="[url]" class="[class]"}]>[if(level=1){<span>- </span>}][if(level=2){<span>-- </span>}][menu_title]</a>', '</li>', '[ul]', '</ul>', false, '<ul class="mega-menu">');
Zu weiteren Risiken und Nebenwirkungen siehe
http://sm2.wbce-cms.org/media/README.de.txt
ziemlich am Ende
Beitrag geändert von florian (21.08.2018 14:44:56)
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Wenn es funktionieren würde, würde es mir auch was nützen.
Ich habe das Menü auf meiner Testseite wieder zurück gesetzt.
Nicht verlinkt werden soll: Sektionen
Passen würde das auch bei: Aktuelles, ich finde, die jetzige Lösung ist irgendwie doppelt gemoppelt
Beitrag geändert von candelo (21.08.2018 15:50:00)
Offline
da haben wir uns aber irgendwie zeitlich verfehlt
Ich probiere es aus.
Danke erstmal.
Offline
@Florian
Super, es funktioniert und genau so wie ich es mir vorgestellt habe!
Ganz, ganz herzlichen Dank!
Offline
@Florian
ich war zu schnell, es funktioniert nur mit Menupunkt Sektionen
Aktuelles wird nicht verlinkt, bei Klick auf Fußball komme ich zu Aktuelles und unterhalb Menüpunkt Startseite steht: //end
Offline
Das SM2_PRETTY muss aus dem Menüaufruf raus, evtl. löst das auch das Verlinkungsproblem.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Geändert und Problem gelöst!
DANKE!
Offline
florian
Seiten: 1