WebsiteBaker Support (2.12.x) > Hilfe & Support (deutsch)
Hilfe bei show_menu2
sternchen8875:
--- Quote from: masju on May 29, 2024, 01:14:33 PM ---Vielen Dank für die Antwort.
Wenn ich
--- Code: ---show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_ALL,
--- End code ---
einsetze, werden alle Seiten der Ebene 2 angezeigt, nicht nur die im aktuellen "Sprachzweig".
--- End quote ---
kann es sein, das du die einzelnen Unterseiten nicht wie in der Hilfe vorgeschlagen, angeordnet hast?
In der Theorie...
DE - Menulink
----Seite DE1
--------Unterseite DE_1_1 von Seite DE1
--------Unterseite DE_1_2 von Seite DE1
----Seite DE2
--------Unterseite DE_2_1 von Seite DE2
--------Unterseite DE_2_2 von Seite DE2
----Seite DE3
EN - Menulink
----Seite EN1
--------Unterseite EN_1_1 von Seite EN1
--------Unterseite EN_1_2 von Seite EN1
----Seite EN2
--------Unterseite EN_2_1 von Seite EN2
--------Unterseite EN_2_2 von Seite EN2
----Seite EN2
show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_ALL - zeigt nun entweder den Strang "DE" oder eben den Strang "EN" an, je nachdem, was im Languagemenü als Sprache gewählt wurde. Hättest du (wie ich vermute), alle Seiten unanhängig von der jeweiligen Sprache, in einem gemeinsamen Seitenbaum, werden auch alle Unterseiten im Menü angezeigt
Stell dir das Menü als ein Baum vor - die Seiten DE wären ein Ast und die Seiten EN ein anderer Ast
Die beiden Hauptseiten DE und EN sind in Ebene 0 (null) , in jedem Zwei dann die Unterseiten. Mit dem Startparameter SM2_ROOT+1 überspringt das Menü die Ebene Null (die Seiten DE und EN) und springt in den Strang, der als Hauptsprache in den WB-Optionen eingestellt ist. Umschalten bzw in den anderen Ast springen kann man dann nur über das Languagemenü (Fähnchen?)
show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_TRIM - würde immer in der jeweiligen Ebene bleiben und alle anderen ausblenden. Im Beispiel würde das heißen: bist du auf Seite DE1, werden die Unterseiten von DE1 und DE2 im Menü nicht angezeigt
Dein Code
show_menu2(1, 2, SM2_ALL, SM2_ALL,
heißt:
Starte mit der Menüdarstellung auf der Seite mit der Page-ID == 2. Dort wird die Sprache ausgelesen und somit ist er im gewünschten Sprach-Ast
Zu deinem Bild: meine Vermutung ist nicht korrekt, sorry dafür.
Mach mal so
show_menu2(1, SM2_ROOT+1, SM2_CURR, SM2_ALL,
masju:
Danke für die ausführliche Antwort.
--- Code: ---show_menu2(1, SM2_ROOT+1, SM2_CURR, SM2_ALL,
--- End code ---
zeigt alle Seiten (sprachübergreifend) der zweiten Ebene an, egal, auf welcher Unterseite ich mich befinde.
Unterschied zu
--- Code: ---show_menu2(1, SM2_ROOT+1, SM2_ALL, SM2_ALL,
--- End code ---
ist nur, dass die Seiten der dritten Ebene fehlen.
masju:
Kleines Experiment:
--- Code: ---switch (LANGUAGE) {
case "ES": $menu_start = 1; break;
case "DE": $menu_start = 2; reak;
case "EN": $menu_start = 3; break;
case "FR": $menu_start = 4; break;
default: $menu_start = 1;
}
show_menu2(1, $menu_start, SM2_ALL, SM2_ALL, (...);
--- End code ---
tut, was es soll. Ist aber sicher nicht der eleganteste Weg.
Ist vielleicht ein Fehler in der Funktion show_menu2?
dbs:
Hast du auch mal den Aufruf aus dem DefaultTemplate versucht?
Da ist doch von MULTILANG+1 die Rede.
masju:
Guter Hinweis!
Das Default-Template funktioniert, wenn ich die Seite in den Optionen auf „mehrsprachig“ stelle. In diesem Template ist das irgendwie anders gelöst. Ich wurstle mich mal rein.
--- Code: ---use addon\WBLingual\Lingual;
--- End code ---
hatte ich auch noch nicht in der index.php
Viele Grüße
masju
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version