WebsiteBaker Support (2.11.x) > General Help & Support

Mehrsprachigkeit

<< < (2/2)

Gast:
Das Problem bei einer systemübergreifende n Hilfe ist, das hier unterschiedliche Module und auch Systeme benutzt werden. Das von dir zur Sprachumschaltung eingesetzte Modul  mod_multilingual wird unter WB > 2.10 garnicht mehr laufen, von daher ganz schlecht zu sagen, was bei dir nicht läuft

Grundsätzlich müssen in Show_Menu2 alle Seiten eines Menüs eben auch diesem Menü angehören, das heißt, wenn das Hauptmenü die ID = 1 hat (siehe info.php deines Templates bei $menu) müssen alle Seiten, egal, welcher Sprache, dieser Menügruppe angehören.
Das bedeutet, das du mit deiner Menügruppe 2 in der falschen Menügruppe bist, richtig wäre die 1 (wenn dort alle anderen Seiten zugeordnet werden).
Um hier nur den Level 0 anzuzeigen, setzt man dann Begrenzer ein, wie du es in deinem Beispielcode schon drin hast.
Solch Menü mußt du dir vorstellen, wie einen Baum. Der Stamm ist das CMS, egal, ob mit oder ohne Ausrufezeichen. Vom Stamm geht ein Ast weg, das sind die Sprachen (im ShowMenu die Menügruppe). Dieser teilt sich in Englisch und Deutsch. Und in jedem dieser Abzweige dann die entsprechenden Unterseiten.

Mit deinem Aufbau (Seite de + en) hast du praktisch einen eigenen, separaten Ast, der an dieser Gabelung stoppt und nicht weiter geht. Er findet so keinen Bezug zu dem Ast, der deine Seiten enthält.

Der grobe Aufbau (gilt immernoch für WB und all seine Forks)

Seiten
de (Sprache=Deutsch)en (Sprache Englisch)-- Seite 1 - deutsch-- Page 1 - englisch-- Seite 2 - deutsch-- Page 2 - englisch-- Seite 3 - deutsch-- Page 3 - englisch---- Seite 3.1 - deutsch---- Page 3.1 - englisch
Eine mögliche Ursache für die Fehlfunktion, die auch CMS-übergreifend gilt, wäre eine falsche Sprachzuordnung der jeweiligen Seiten.
Ein weit verbreiteter Fehler ist, das die Seiten anfangs eine falsche Sprachzuordnung erhalten und diese dann auf Kinder und Kindeskinder vererben. Es ist ein Problem, das sowohl bei WB wie auch in allen Forks gern auftritt und meist beim Anlegen der ersten Seite (i.d.R. ein MenuLink). Hier wird dann vergessen, die Sprache der engl. Seite umzustellen und dann werden die Unterseiten auch alle die "falsche" Sprache bekommen. Noch "besser" klappt das mit Addons wie PageCloner, wo u.U. auch mal gleich 50 Seiten eine falsche Sprache bekommen, wenn man einen ganzen Zweig kopiert.
Zur Kontrolle mußt du nun alle Seiteneinstellungen einmal durchschauen. Alles unterhalb von "de" muß dann die Spracheinstellung "Deutsch" bekommen, alles unter "en", dann englisch

Warum allerdings die hardcodet Selectbox nicht angezeigt wird, kann ich dir nicht sagen. Möglicherweise liegt es am CSS, das vielleicht label auf verschiedenen Seiten anders definiert ist. Testhalber könntest du es mal drum herum weglassen und nur von <select> bis </select> darstellen. Sofern da nicht noch Code drum herum ist, der hier nicht gezeigt wurde, sollte es m.E. immer funktionieren.

Noch ein P.S.: Um die Selectbox über showMenu2 erstellen zu lassen, muß der Code entsprechend angepasst werden

<?php

            $sItemOpen = '<option class="[class]"><a href="[url]" class="[class]"><span>[menu_title]</span></a>';
                echo show_menu2(
                    $aMenu          = 1,
                    $aStart         = SM2_ROOT,
                    $aMaxLevel      = SM2_ALL,
                    $aOptions       = SM2_ALL|SM2_PRETTY|SM2_BUFFER,
                    $aItemOpen      = $sItemOpen,
                    $aItemClose     = '</option>',
                    $aMenuOpen      = false,
                    $aMenuClose     = false,
                    $aTopItemOpen   = false,
                    $aTopMenuOpen   = '<select>'
                );
            ?>

Navigation

[0] Message Index

[*] Previous page

Go to full version