Hier mal eine Anleitung zum ewigen Thema Mehrsprachig mit mehreren Menüs so wie ich es auf meiner Seite realisiert habe und damit sehr zufrieden bin.
www.micro-agentur.deEs gibt ein horizontales Hauptmenü, ein vertikales Menü für das sublevel des Hauptmenü, und ein footer Menü. Dabei ist das Ziel das das footer Menü auch mitbekommt welche Sprache ausgewählt ist. Die Sprachwahl wird nicht über show_menu2 aufgerufen sondern in das Template eingecodet. Dazu später mehr.
Voraussetzung ist ein WB 2.7 mit show_menu2
Im Backend Optionen mehrere Menüs einschalten.
In der info.php des Template für das das zweite footer menü eine id und einen Namen vergeben:
// Definition der Menüelemente (wenn mehr als 1 Menü verwendet wird)
$menu[1] = 'Hauptnavigation';
$menu[2] = 'Footernavigation';
In der index.php die horizontale Hauptnavigation Level1 so aufrufen:
<?php show_menu2(1, SM2_ROOT+1, SM2_START); ?>
für das Level2 der Hauptnavigation welches ich auf meiner Seite vertikal einbinde diesen Code:
<?php show_menu2(1, SM2_ROOT+2, SM2_START); ?>
Die Footernavigation wird so aufgerufen:
<?php // Submenu
show_menu2(2, $wb->page['root_parent'], SM2_ALL,
SM2_ALL | SM2_PRETTY); ?>
Jetzt muss im Backend für jede Sprache ein Seitenbaum angelegt werden. Hier als Beispiel DE und EN.
Jede der Sprachen bekommt eine Eingangsseite welche als "Menü Link" Seite realisiert wird. Jede weitere Seite
in diesem Sprach Ast ist dann eine Unterseite der "Menü Link" Seite die wir DE bzw. EN nennen.
Wichtig: Eine der "Menü Link" Seiten muss als erstes angelegt werden damit der URL Aufruf auch gleich den richtigen
Sprachbaum zeigt in diesem Fall DE - Start
- DE (Hauptnavigation root level)
- Start (Hauptnavigation level1 Unterseite von DE)
Seite1 (Hauptnavigation level2 Unterseite von Start)
Seite2 (Hauptnavigation level2 Unterseite von Start)
Seite3 (Hauptnavigation level2 Unterseite von Start)
- EN (Hauptnavigation root level)
- Home (Hauptnavigation level1 Unterseite von EN)
Page1 (Hauptnavigation level2 Unterseite von Home)
Page2 (Hauptnavigation level2 Unterseite von Home)
Page3 (Hauptnavigation level2 Unterseite von Home)
- Kontakt (Footernavigation Unterseite von DE)
- Impressum (Footernavigation Unterseite von DE)
- Contact (Footernavigation Unterseite von EN)
- Disclaimer (Footernavigation Unterseite von EN)
Jetzt fehlt noch ein Sprachwahl Menü. Das wird nicht mit show_menu2 aufgerufen sondern in die index.php des Templates eingecodet.
<a href="http://yourdomain/pages/de/start.php"><img src="<?php echo TEMPLATE_DIR; ?>/img/deflag.jpg" alt="DEUTSCH" border="0" /></a>
<a href="http://yourdomain/pages/en/home.php"><img src="<?php echo TEMPLATE_DIR; ?>/img/enflag.jpg" alt="ENGLISH" border="0" /></a>
Die dazu gehörigen Sprachflaggen liegen im img Ordner des Templates. Mann kann das natürlich auch mit reinen Text links machen.
Fertig. Das wars.
Ich hatte mich selbst lange Zeit durch die vielen Beiträge zu diesem Thema durchbeissen müssen und hoffe euch damit zu helfen.
Ich bin kein Programmierer und meine Anleitung versteht sich nicht als Ultimative Lösung aber so Funktioniert es zumindest bei mir.
Kirk