Zwei Sprachen durch URL-Abfrage

Hilfe zur Installation
Post Reply
jeff1980
Forum Members
Forum Members
Posts: 210
Joined: Mon Apr 30, 2007 1:46 pm

Zwei Sprachen durch URL-Abfrage

Post by jeff1980 »

Hallo,

hab hier im Forum nichts dazu gefunden.
Ich möchte meine Seite gerne zweisprachig aufbauen (mit .de und .com Domain). Es gibt ja nun verschiedene Ansätze wie z.B. MLE oder mehrere "Seitenbäume" für die unterschiedlichen Sprachen aufzubauen.
Heute kam mir der Gedanke, es per URL-Abfrage zu lösen und ich würd gern wissen, was Ihr davon haltet bzw. ob es evtl. Problem oder Nachteile gibt, die ich nicht sehe.
Mein Plan sieht so aus:

1. In der config.php die Zeile mit der Domainkonfiguration wie folgt ausfüllen:

Code: Select all

$config['root_url'] = 'http://'.$_SERVER['HTTP_HOST'];
Dadurch bleibt die Domain, die ursprünglich eingegeben wurde immer in der Adresszeile erhalten.

2. Im Template folgende Struktur für die Inhaltsblöcke aufbauen:

Code: Select all

{if $gCms->config.root_url == 'http://www.domain.de'}
{content}
{elseif $gCms->config.root_url == 'http://www.domain.com'}
{content block="content_en"}
{/if}
3. Alle anderen mehrsprachigen Inhalte können durch die obige Abfrage ja entweder direkt im Template oder (sauberer und zugänglicher) per GCB eingebunden werden.

4. Um die Sprache von Hand umzustellen (falls ein deutscher User die com-Domain eingibt), kann man einfach zwei Links jeweils auf die de- bzw. com-Domain machen.

Bin gespannt, ob ich da irgendwo einen Denkfehler habe oder ob es wohl so klappen würde...

viele Grüße
Jan
Last edited by jeff1980 on Mon Jan 11, 2010 6:22 am, edited 1 time in total.
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: Zwei Sprachen durch URL-Abfrage

Post by nockenfell »

Ich frage mich ob die Abfrage so richtig ist. Möglich das es klappt. Müsste die Abfrage allerdings nicht eher so heissen?

Code: Select all

{if $_SERVER['HTTP_HOST'] == 'http://www.domain.de'}
{content}
{elseif $_SERVER['HTTP_HOST'] == 'http://www.domain.com'}
{content block="content_en"}
{/if}
[this message is written with 100% recycled bits]
cyberman

Re: Zwei Sprachen durch URL-Abfrage

Post by cyberman »

jeff1980 wrote: 2. Im Template folgende Struktur für die Inhaltsblöcke aufbauen:

Code: Select all

{if $gCms->config.root_url == 'http://www.domain.de'}
{content}
{elseif $gCms->config.root_url == 'http://www.domain.com'}
{content block="content_en"}
{/if}
Hmm, könnte grundsätzlich funktionieren - jedoch solltest du eine andere Blockbezeichnung wählen. Seit der Version 1.6 ist {content} die Kurzschreibweise für {content block='content_en'} - siehe Changelog
{content} block is now just a shortcut for {content block='content_en'} and there is no special handling
jeff1980
Forum Members
Forum Members
Posts: 210
Joined: Mon Apr 30, 2007 1:46 pm

Re: Zwei Sprachen durch URL-Abfrage

Post by jeff1980 »

Hi,

das ging ja mal wieder super schnell - danke  ;D.

@nockenfell: Leider spuckt die Seite bei Deinem Vorschlag diese Fehlermeldung aus:
string(127) "Smarty error: [in tpl_body:23 line 24]: syntax error: unidentified token '['HTTP_HOST']' (Smarty_Compiler.class.php, line 1410)" string(127) "Smarty error: [in tpl_body:23 line 26]: syntax error: unidentified token '['HTTP_HOST']' (Smarty_Compiler.class.php, line 1410)"
Hab das "$gCms->config.root_url"-Schnipselchen hier im Forum gefunden, als ich nach URL in Template aufrufen gesucht habe - da es auf Anhieb funktioniert hat, hab ich auch gar nicht weiter geschaut...

@Cyberman: Danke für den Tipp - mir kam content_en auch irgendwie bekannt vor... Aber das kann man ja durch content_english o.ä. ersetzen. Sollte man evtl. sämtliche Länderkürzel meiden? Ist da evtl. irgendwas in Planung (von wegen ML-Unterstützung)? Wäre ja kein Ding, die Länder auszuschreiben - man müßte es halt nur wissen...

Viele Grüße
Jan
cyberman

Re: Zwei Sprachen durch URL-Abfrage

Post by cyberman »

jeff1980 wrote: Ist da evtl. irgendwas in Planung (von wegen ML-Unterstützung)?
Das war wohl der Grund für die Änderung - lt. Roadmap soll ML aber erst in der 2.2 kommen ...
Post Reply

Return to “Installation und Einstellungen”