WebsiteBaker Community Forum

WebsiteBaker Support (2.11.x) => General Help & Support => Topic started by: peitman on January 06, 2019, 11:49:03 AM

Title: Mehrsprachigkeit
Post by: peitman on January 06, 2019, 11:49:03 AM
Guten morgen zusammen,
ich habe ein Problem mit der Mehrsprachigkeit einer Webseite.

Die Seite ist in deutsch und englisch angelegt. Der Dateiname ist in Kleinbuchstaben "de" und "en" angelegt.
Der Sprachwechsel funktioniert auch soweit, allerdings werden auf den englischen Seiten die Menüpunkte zum Sprachwechsel nicht angezeigt!

Nachfolgend der Quelltext für das Menü:

<span><i class="fa fa-globe" aria-hidden="true"></i> </span>
<?php
show_menu2(
   $aMenu = 2,
   $aStart = SM2_ROOT,
   $aMaxLevel = SM2_START,
   $aOptions = SM2_TRIM,
   $aItemOpen = '[ac][menu_title]</a>',
   $aItemClose = '&nbsp;|&nbsp;',
   $aMenuOpen = '| &nbsp;',
   $aMenuClose = '',
   $aTopItemOpen = false,
   $aTopMenuOpen = ''
);?>
               
<?php  if(function_exists('language_menu')) { language_menu(); }  ?>

Des Weiteren hätte ich das gerne über ein Auswahlliste mit <select> gelöst.
Wie das mit show_menu funktionier habe ich keinen blasen schimmer!

Ich hatte eine statische Lösung versucht, welche auch optisch angezeigt wurde aber, warum auch immer, nicht funktionierte.

<label for="Language">
<span><i class="fa fa-globe" aria-hidden="true"></i> </span>
<select>
<option value="Deutsch"><a href="[wblink1]">Deutsch</a></option>
<option value="Englisch"><a href="[wblink110]">Englisch</a></option>
</select>
</label>

Wäre froh wenn mir jemand helfen könnte.

Schönen Sonntag noch
Title: Re: Mehrsprachigkeit
Post by: peitman on January 06, 2019, 12:11:02 PM
Des Weiteren bekomme ich die Menüpunkte "de" und "en" nicht im Mobilmenü angezeigt!

Nachfolgend der Link zur Seite: www.bar-gmbh.de
Title: Re: Mehrsprachigkeit
Post by: dbs on January 06, 2019, 12:19:56 PM
Morgen, wenn hier jemand über Probleme mit Joomla oder Wordpress schreibt, verweisen wir gerne auf die jeweiligen Foren.
Welches ist dein CMS?
Title: Re: Mehrsprachigkeit
Post by: peitman on January 06, 2019, 01:00:10 PM
WBCE !!!
Title: Re: Mehrsprachigkeit
Post by: evaki on January 06, 2019, 01:35:40 PM
Code: [Select]
<meta name="generator" content="WBCE CMS; ://"/>Naja, man kann sich ja auch mal verirren.
MfG. Evaki
Title: Re: Mehrsprachigkeit
Post by: Gast on January 06, 2019, 02:02:23 PM
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>'
                );
            ?>