Welcome, Guest. Please login or register.
Did you miss your activation email?
May 25, 2012, 01:39:29 PM

Login with username, password and session length
Search:     Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter hier und auf unserer neuen Webseite.
155504 Posts in 21710 Topics by 7736 Members
Latest Member: deenangle
* Home Help Search Login Register
Pages: [1] 2 3   Go Down
Print
Author Topic: Mehrspachige Seite auf WebsiteBaker Doku-Seite  (Read 4915 times)
yggdrasil

Offline Offline

Posts: 151



« on: June 18, 2009, 06:06:30 PM »

Hallo,

habe vor einiger Zeit mal eine mehrsprachige Seite gemacht, nach diesem Tutorial hier: http://help.websitebaker.org/pages/de/advanced-doku/designer-guide/mehrsprachige-webseiten.php

Hier wird gesagt, man müsse im pages-Ordner eine Intro Seite machen und alle Menüpunkte manuell eingeben. Ich war damals im Stress, deswegen habe ich das so gemacht, erschien mir aber schon damals unglaublich seltsam, da das ja in keinster Weise dynamisch ist.

Hatte den Seitenaufbau

DE (Menu_Link)
    Startseite (WYSIWYG)
EN (Menu_Link)
    Home (WYSIWYG)

Wenn jetzt eine neue Sprache vom Kunden hinzugefügt wird, ändert sich in der Intro-Seite nichts, man müsste also die PHP-Datei umschreiben, was der Kunde ja nicht kann.
Ich hab eine bessere Lösung gefunden, die auch dynamisch ist.

Root (WYSIWYG)
    DE (Menu_Link)
           Startseite (WYSIWYG)
    EN (Menu_Link)
           Home (WYSIWYG)

Der Root-Seite verpasst man einfach ein spezielles Template. Wenn man zB einen Ordner mit Landesflaggen hat, deren Bilder dann zB. DE.png, EN.png, etc. heißen, kann man in dieses Template dann einfach:

Code:
show_menu(1, 1, 1, true, '[a]<img alt="[menu_title]" src="' .TEMPLATE_DIR . '/images/flags/[menu_title].png"/>[/a]', '', '', '', false, '', 0);

Natürlich mit show_menu2 smiley

Auf jedenfall ist das dynamisch, man brauch keine extra Dateien irgendwo in dem pages-Ordner und der Kunde kann dann wirklich alles über das Backend machen.

Es wäre super, wenn man auf der Seite http://help.websitebaker.org/pages/de/advanced-doku/designer-guide/mehrsprachige-webseiten.php diese Art mit der Intro-Page im pages-Ordner umschreibt und meine dynamische Methode nehmen würde, natürlich kann jeder hier seinen Senf dazu geben.

Lg
Logged

Fight for animal Liberation!!!
yggdrasil

Offline Offline

Posts: 151



« Reply #1 on: June 18, 2009, 06:41:29 PM »

Code:
               show_menu2(1, SM2_ROOT+1, SM2_START+0, SM2_TRIM|SM2_PRETTY,
                   '<a href="[url]">' .
                   '<img src="' . TEMPLATE_DIR . '/images/flags/[menu_title].png" alt="[menu_title]"/>' .
                   '</a>', '', '', '', false, false);

wäre dann die Möglichkeit bei Verwendung von show_menu2
Logged

Fight for animal Liberation!!!
kweitzel
Forum administrator
*****
Offline Offline

Posts: 6975


WWW
« Reply #2 on: June 18, 2009, 07:48:50 PM »

Hallo,

wie wäre es denn, wenn Du was schreibst und ruebenwurzel das update zukommen lässt?

Gruß

Klaus
Logged

WebsiteBaker Org e.V. - for WebsiteBaker

yggdrasil

Offline Offline

Posts: 151



« Reply #3 on: June 18, 2009, 08:28:21 PM »

Ja wäre auf jedenfall machbar, aber erst nach Montag, wenn ich hoffentlich mein Abi schaff  cool

Gruß
Logged

Fight for animal Liberation!!!
kweitzel
Forum administrator
*****
Offline Offline

Posts: 6975


WWW
« Reply #4 on: June 18, 2009, 09:00:12 PM »

toitoitoi ... und vielleicht schaust Du Dir schon mal den CSS an sobald Du Zeit hast wink dann ist alles schon richtig wenn Du es dem Matthias sendest ...

Gruß

Klaus
Logged

WebsiteBaker Org e.V. - for WebsiteBaker

yggdrasil

Offline Offline

Posts: 151



« Reply #5 on: June 19, 2009, 01:17:18 PM »

Danke.

Eines stört mich bei meiner Methode aber trotzdem noch und zwar steht dann in der URL http://irgendwas.de/pages/root/de/startseite.php

Da ich das "pages" generell nicht mehr zeitgemäß finde, benenne ich es gerne auf "cms" um, nur so als Anmerkung für die Entwickler, das möglicherweise in späteren WB-Versionen in Erwägung zu ziehen^^ Auf jedenfall ist das "root" in der URL hässlich. Wie könnte man das wegbekommen, warscheinlich gar nicht ohne irgendwelche .htaccess-Spielereien oder?

Lg
Logged

Fight for animal Liberation!!!
ruebenwurzel
WebsiteBaker Org e.V.

Offline Offline

Posts: 7973



WWW
« Reply #6 on: June 19, 2009, 03:29:14 PM »

Hallo,

um mehrsprachige Seiten vernünftig umzusetzen ist WB mit Bordmitteln nur bedingt geeignet. Nicht nur die Struktur des Seitenaufbaus (intro.php ist eigentlich nicht notwendig) sondern auch das umschalten zwischen den Sprachen von einer Seite auf die relevante Seite der anderen Sprache ist nur mit Zusatztools möglich. Hier im Forum kursieren zudem mehrere Anleitungen, leider wurde ein vielversprechender script vom developper wieder vom Netz genommen. Warum ich das alles erzähle? Im Bezug auf das Handling von mehrsprachigen Seiten besteht dringender Handlungsbedarf. Für WB 2.8 wird es da keine Lösung mehr geben aber für WB 2.9 steht das auf der Agenda ganz oben (neben einer vernünftigen Benutzer- und Medienverwaltung).

Matthias
Logged
yggdrasil

Offline Offline

Posts: 151



« Reply #7 on: June 19, 2009, 04:56:11 PM »

Ja ich denke mal, dass, solange man nicht zwischen den einzelnen Unterseiten in verschiedenen Sprachen wechseln will, sondern immer nur von Startseite zu Startseite (nicht Eingangsseite), dann gibt es eigentlich keine großen Probleme, außer, dass halt das Root oder wie man den Hauptknoten nennt, in der URL stehen hat.

Muss hier aber nochmal ein großes Lob aussprechen, ich hab ne Zeit lang mit Typo3 gearbeitet und komme immer wieder zu WB, weil es einfach super ist. Ich kann Module selber schreiben und vor allem logisch alles nachvollziehen. Ich kann eigentlich so ziemlich alles realisieren, was nicht mit Modulen geht, schreibe ich halt mit PHP-Code direkt in die Seiten hinein, auch kein Problem. WB rockt  cool

Freue mich schon auf 2.8 smiley
Logged

Fight for animal Liberation!!!
kweitzel
Forum administrator
*****
Offline Offline

Posts: 6975


WWW
« Reply #8 on: June 19, 2009, 06:19:40 PM »

Das mit "root" in der URL, ich glaube, das hast Du was falsch gemacht ... hast Du alle Seitenstrukturen unter einer Seite namens "root"?

Gruß

Klaus
Logged

WebsiteBaker Org e.V. - for WebsiteBaker

yggdrasil

Offline Offline

Posts: 151



« Reply #9 on: June 20, 2009, 12:58:59 PM »

Genau, das habe ich deswegen gemacht, damit ich diese "root" Seite mit einem speziellen Template versehen kann, in dem ich einfach show_menu2 so aufrufe, dass er mit einfach für jeden Untermenüpunkt von root (DE, EN, IT) eine Landesflagge anzeigt. So spare ich mir auch dieses komische Einfügen einer Intro-Seite im pages-Ordner, da das ja in keinster Weise dynamisch ist und falls der Kunde eine neue Sprachebene eingefügt hat, scheint sie ja nicht auf auf dieser Intro-Seite, da die Links ja manuell eingegeben werden.

Nur hat man jetzt halt noch ein zusätzliches "root" oder wie man diese Überseite eben genannt hat, stehen. Das stört zwar, aber jedenfalls muss ich nicht ständig angerufen werden um in dieser Intro-Seite Änderungen voruznehmen^^ Hab mir überlegt, es ein bisschen zumzuschreiben, dass ich einfach www.meineseite.de/page_id=18 stehen habe, ist zwar nicht sehr suchmaschinenfreund lich, aber sieht schöner aus^^ (Diese Option sollte vielleicht auch implemetiert werden, dass man die Möglichkeit hat, entweder den Seitenpfad absolut in der URL stehen zu haben, oder eben mit dem page_id-Parameter.

Lg
Logged

Fight for animal Liberation!!!
kweitzel
Forum administrator
*****
Offline Offline

Posts: 6975


WWW
« Reply #10 on: June 20, 2009, 09:54:59 PM »

Persönlich mache ich keine "Eingangsseite" im Seitenbaum. Entweder diese Rootseite wird als Sprachauswahl per intro.php gemacht oder ich gebe eine Sprache vor.

Btw ... den pagesordner kannst Du umbenennen ... solltest das halt vor Seitenerstellung machen oder Du gehst danach durch einen Datenbankdump und suchst nach /pages/ und änderst dies in /neuer namen/ ab ... ich lasse das feld auch hin und wieder leer.

Gruß

Klaus
Logged

WebsiteBaker Org e.V. - for WebsiteBaker

yggdrasil

Offline Offline

Posts: 151



« Reply #11 on: June 20, 2009, 10:33:54 PM »

Ja pages habe ich in "cms" umbenannt und alles nötige geändert. Ich mache das bewusst nicht mit der Intro.php Seite, da ich jede Sprache die ich dazunehme oder entferne, manuell dort wieder ändern müsste. Das bedeutet für mich ständig arbeit, da der Kunde das ja nicht kann und auch nicht machen will, er hat ja schließlich das Backend dafür. So wie ich es mache, ist eben alles dynamisch und regelt sich von alleine.

Lg
Logged

Fight for animal Liberation!!!
Luisehahne
Board Member
Development Team
*****
Online Online

Posts: 3145



WWW
« Reply #12 on: June 20, 2009, 11:23:09 PM »

Es gab da bereits ein paar gute Ansätze als Snippet. Da wird bestimmt in einer der nächsten WB Versionen (nicht 2.Cool was passieren.

Gruss
Dietmar
Logged

We are human beings - and nobody is perfect at all.
bakerling

Offline Offline

Posts: 340



« Reply #13 on: June 21, 2009, 06:32:23 PM »

Hallo,

Ich habe gestern als Test auch eine Seite mit Sprachauswahl nach der Anleitung in der WB-Hilfe gemacht. Halt eben mit einer Intro.php. Funktioniert soweit gut.
Ich kann auch ohne Probleme innerhalb der Seite die Sprache wechseln. Nur geht der Link immer auf die Startseite der gewählten Sprache.
Ich möchte jedoch das Ganze so gestalten wie auf:
http://www.goethe.de
  • ohne Introseite, d.h. bei Aufruf der URL öffnet sich die Startseite in einer bevorzugten Sprache
  • Sprachwechsel innerhalb der gleichen Unterseite
Dies ist mir bis jetzt aber nicht gelungen. Gibt es eine Möglichkeit?
Danke für Tipps

LG Harry


Logged
FrankH

Offline Offline

Posts: 735


WWW
« Reply #14 on: June 21, 2009, 07:11:52 PM »

Quote
Gibt es eine Möglichkeit?

Ja, zum Beispiel diese: http://www.websitebakers.com/pages/code-snippets/various/easy-multilanguage-link.php
Logged

Ochs und Esel in ihrem Lauf
halt ich leider auch nicht auf
yggdrasil

Offline Offline

Posts: 151



« Reply #15 on: June 21, 2009, 08:33:45 PM »

Irgendwie funktioniert das nicht so ganz, dieses Modul. Hab jetzt 4 Pages in verschiedenen Sprachen jeweils den Seitencode 0 gegeben, sind die Startseiten. Funktionieren nur Deutsch, Englisch, Ungarisch, Italienisch scheint nicht auf. Jetzt habe ich den nächsten Seiten den Code 1 gegeben, er zeigt aber nur Deutsch, Italienisch und Ungarisch an, Englisch lässt er aus. Wenn ich jetzt auf Deutsch, dann öffnet er die englische Seite mit ?lang=DE hinten dran.

Was mache ich falsch, weil sonst ist das Modul sau cool  cool

Lg
Logged

Fight for animal Liberation!!!
bakerling

Offline Offline

Posts: 340



« Reply #16 on: June 22, 2009, 08:30:49 AM »

Hallo Frank
Vielen Dank für Deine schnelle Antwort. Ja, das scheint genau das zu sein, was ich suche.
Mit meinen wenigen PHP-Kenntnissen habe ich zwar etwas Hemmungen Kernel Dateien zu verändern. Was passiert z.B. bei einem Update auf eine neue WB Version?
Ich werde das mal in aller Ruhe bei meiner Testseite ausprobieren.
In Deiner Beispielseite hast Du eine Intro.php mit Sprachauswahl. Wie stellt man es an, dass sich, anstatt der intro.php, beim Aufruf der URL gleich die Startseite der bevorzugten Sprache öffnet?
Danke für Antwort
LG Harry
Logged
FrankH

Offline Offline

Posts: 735


WWW
« Reply #17 on: June 22, 2009, 01:22:09 PM »

Quote
Wie stellt man es an, dass sich, anstatt der intro.php, beim Aufruf der URL gleich die Startseite der bevorzugten Sprache öffnet?

WB kann nicht hellsehen. Woher soll es denn beim erstmaligen Aufruf wissen, was deine bevorzugte Sprache ist?
Logged

Ochs und Esel in ihrem Lauf
halt ich leider auch nicht auf
FrankH

Offline Offline

Posts: 735


WWW
« Reply #18 on: June 22, 2009, 01:24:16 PM »

Quote
Mit meinen wenigen PHP-Kenntnissen habe ich zwar etwas Hemmungen Kernel Dateien zu verändern. Was passiert z.B. bei einem Update auf eine neue WB Version?

Das Entwicklerteam tut sich schwer damit. In WB 2.8 soll noch keine Unterstützung für mehrsprachige Menüs dabei sein, also werde ich, wenn es dann so weit ist, kurzfristig wieder gepatchte Dateien zur Verfügung stellen.

Logged

Ochs und Esel in ihrem Lauf
halt ich leider auch nicht auf
FrankH

Offline Offline

Posts: 735


WWW
« Reply #19 on: June 22, 2009, 01:25:53 PM »

Quote
Hab jetzt 4 Pages in verschiedenen Sprachen jeweils den Seitencode 0 gegeben, sind die Startseiten.

Ja manchmal ist es ganz sinnvoll, zuerst die kurze Doku zu lesen.
Logged

Ochs und Esel in ihrem Lauf
halt ich leider auch nicht auf
bakerling

Offline Offline

Posts: 340



« Reply #20 on: June 22, 2009, 03:12:20 PM »

Hi Frank

Quote
WB kann nicht hellsehen. Woher soll es denn beim erstmaligen Aufruf wissen, was deine bevorzugte Sprache ist?

Die bevorzugte Sprache ist immer dieselbe. Wie im Beispiel http://www.goethe.de Hier öffnet sich immer die Startseite in deutscher Sprache.

LG Harry
Logged
bakerling

Offline Offline

Posts: 340



« Reply #21 on: June 22, 2009, 04:15:31 PM »

Hallo zusammen

Quote
WB kann nicht hellsehen. Woher soll es denn beim erstmaligen Aufruf wissen, was deine bevorzugte Sprache ist?

Hab es mittlerweile selber gerafft. Mit redirect klappt es. Ich habe ganz zuoberst in der intro.php folgenden Code eingebunden:

Code:
<?php
header
("Status: 301 Moved Permanently");
header("Location:neueadresse");
exit;
?>

Den Kommentar in der Beispiel-Intro.php auf der WB Hilfeseite hatte ich übersehen.

Franks Modul: Easy Multilanguage Link werde ich noch ausprobieren und mich wieder melden.

LG und vielen Dank
Harry
Logged
FrankH

Offline Offline

Posts: 735


WWW
« Reply #22 on: June 22, 2009, 05:11:34 PM »

Nur mal so aus Neugierde: Wie entscheidest du, z welcher Sprache das redirect geht?
Logged

Ochs und Esel in ihrem Lauf
halt ich leider auch nicht auf
bakerling

Offline Offline

Posts: 340



« Reply #23 on: June 22, 2009, 05:31:26 PM »


Quote
Nur mal so aus Neugierde: Wie entscheidest du, z welcher Sprache das redirect geht?

Nehmen wir mal als Beispiel die Schweiz mit vier Landessprachen.
4'500'000 sprechen deutsch
1'400'000 sprechen französisch
450'000 sprechen italienisch
35'000 sprechen rätoromanisch

Der Sitz des Webseitenbetreibers ist in der deutschen Schweiz und sein Haupttätigkeitsgebiet ist im deutschsprachigen Raum. In diesem Fall sollte sich beim Aufruf der URL gleich die deutsche Sprachseite öffnen.
Die deutschsprachigen Besucher kommen so schneller an die Informationen. Anderssprachige Besucher haben dadurch keinen Nachteil. Bei Anwendung der Introseite müssten sie ja eh die Sprache auswählen.

LG Harry
Logged
kweitzel
Forum administrator
*****
Offline Offline

Posts: 6975


WWW
« Reply #24 on: June 22, 2009, 05:51:33 PM »

Für eine automatische Sprachauswahl wirst Du nicht um eine Introseite herumkommen. In dieser leist Du per JS die Browsersprache aus and leitest auf die jeweilige Spracheingangsseite weiter. Englisch definierst Du so, daß wenn keine vorhandene Sprache pass Englisch aufgerufen wird.

Die JS Funktion für das Auslesen der Sprache ist "navigator.language". Ein komplettes Script bekommst Du hier: http://dev.weblication.de/wDev/knowledgebase/articles/20051219_artikel_spracherkennung.php?category=21

Gruß

Klaus
Logged

WebsiteBaker Org e.V. - for WebsiteBaker

Pages: [1] 2 3   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!