Ihre Meinung zu dieser Seite?
Deutsch Deutsch English English


Das Website Baker Codeschnipsel Easy Multilanguage Link ist dafür geeignet, auf mehrsprachigen Websites Links zu anderssprachigen Seiten mit identischem Inhalt zu generieren. Ich verwende das Codeschnipsel auf dieser Website.

Es ist aber nicht notwendig, dass alle Seiten in allen Sprachen existieren oder das die Strukturierung der Seiten in den einzelnen Sprachen identisch ist.

So funktioniert es:

Man muss ein paar Kernel-Dateien ändern, weil in den Seiteneinstellungen ein neues Feld (ich hab es PageCode genannt) gebraucht wird. Dort trägt man für Seiten mit gleichen Inhalten ein gleiches Schlagwort ein.

Der Code zeigt dann die Sprachen von allen Seiten mit dem gleichen PageCode als Link-Menü an.
Zwei besondere PageCodes gibt es:

In das Template muss man den Aufruf der Funktion wie folgt einfügen:

<?php easymultilang_menu(); ?>

Die Datei HowTo erklärt alles ganz ausführlich.

Homepage des Schnipsels auf AMASP: http://www.websitebakers.com/pages/code-snippets/various/easy-multilanguage-link.php

Das Codeschnipsel kommt jetzt mit Patches für WB 2.7 sowie für WB 2.8.0

Hinweis für Benutzer von WB 2.8.1

Das Modul Easy Multilanguage Link v. 0.4.2 ist nicht mit Website Baker v. 2.8.1 kompatibel.

Auch unter älteren Versionen von Website Baker benötigte das Modul einige Patches an Kernel-Dateien.
Der für die entsprechenden Kernel-Dateien zuständige Entwickler hat nun ein eigenes Modul auf den Markt gebracht, welches das CMS mehrsprachig macht, also den Funktionsumfang von Easy Multilanguage Link abdeckt. Dabei hat er die Einbindung seines eigenen Moduls fest in den Kernel-Dateien verdrahtet und Variablennamen von Easy Multilanguage Link verwendet. Damit hat er den Einsatz von Easy Multilanguage Link wirksam verhindert. Das ist vielleicht nicht ganz die feine englische Art, lässt sich aber nun mal nicht ändern.
Sicher könnte man die Kernel-Dateien nun so verändern, dass sie wieder mit Easy Multilanguage Link kompatibel sind. Während die bisherigen Patches aber dem Nachrüsten fehlender Funktionalität dienten, würde ein solcher Patch einen Teil der neuen Funktionalität umbiegen, was von mir abgelehnt wird. Es ist auch davon auszugehen, dass der zuständige Entwickler dafür sorgen wird, dass sein Modul künftig zum Standardumfang von Website Baker gehören wird.

Ich empfehle, für Website Baker ab 2.8.1 statt des Moduls Easy Multilanguage Link das neue Modul Multilingual von http://www.websitebaker-next.de/wb/pages/de/startseite/websitebaker-2.8.x.php zu verwenden.


Frage:
Wie muss ich mein Template gestalten, so dass im Menü immer nur die Seiten einer Sprache angezeigt werden?

Antwort:
Erst mal sollte der Baum mit den Seiten so angelegt werden, dass die Startseiten der jeweiligen Sprachen die einzigen Seiten in der Ebene 0 sind. Alle Seiten einer Sprache sind dann Unterseiten ihrer Startseite.
Anschließend wird der Aufruf von show_menu2 im Template wie folgt angepasst (wichtig sind nur die ersten 3 Parameter, der Rest kann bleiben wie er ist):

       <?php show_menu2(0, SM2_ROOT, SM2_CURR+1, SM2_TRIM|SM2_NUMCLASS|SM2_PRETTY,
                        '<li class="[class]" title="[page_title]">[ac][menu_title]</a>',
                        false, false, false, false, false, 25); ?>