MacBook Banner 728x90
< DAM mit dem RTE und media-Tag richtig einsetzen

Mit RealURL Multilanguage Site mit Multidomains realisieren

09.07.2010
Lina Wolf

Dieser Artikel wurde am 9.7.2010 überarbeitet

Seit RealURL Version 1.5 können Parameter nicht nur in Teile des Pfades, sondern auch als Domainnamen abgebildet werden. Dieses neue Feature ist vor allem für Sprachen spezifische Domains hilfreich. Hier wird dann der L Parameter genutzt um die Domain auszuwählen.

Dies geschieht in der RealURL Konfigurationsdatei neben der normalen Konfiguration für ['_DEFAULT'] oder ['www.example.com’].

Es ist zu beachten, dass alle Domains sowohl encodiert als auch decodiert werden. Dabei muss in der Decodierungsrichtung Die Sprachvariable für die Standartsprache einmal als ‚0’ und einmal als ‚’ definiert werden. In der Decodierungsrichtung reicht eine Variante aus.

Die ['_DOMAINS'] Konfiguration darf scheinbar derzeit nicht in Verbindung mit Domainrecords auf der Rootseite verwendet werden. Siehe dazu http://bugs.typo3.org/view.php?id=15057

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] =
 array(... Ihre Konfiguration kommt hier hin ...);
$TYPO3_CONF_VARS['EXTCONF']['realurl']['example.cn'] =
 array(... Spezielle Konfiguration für Chinesisch ...);

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DOMAINS'] = array(
 'encode' => array(
     array(
         'GETvar' => 'L',
         'value' => '',
         'ifDifferentToCurrent' => true,
         'useConfiguration' => '_DEFAULT',
         'urlPrepend' => 'http://example.de',
     ),
     array(
         'GETvar' => 'L',
         'value' => '0',
         'ifDifferentToCurrent' => true,
         'useConfiguration' => '_DEFAULT',
         'urlPrepend' => 'http:// example.de',
     ),
     array(
         'GETvar' => 'L',
         'value' => '1',
         'ifDifferentToCurrent' => true,
         'useConfiguration' => '_DEFAULT',
         'urlPrepend' => 'http://example.uk',
     ),
     array(
         'GETvar' => 'L',
         'value' => '2',
         'ifDifferentToCurrent' => true,
         'useConfiguration' => '_DEFAULT',
         'urlPrepend' => 'http://example.cn',
     ),
 ),
 'decode' => array(
     ' example.de' => array(
         'GETvars' => array(
             'L' => '',
         ),
         'useConfiguration' => '_DEFAULT',
     ),
    //Domains immer mit und ohne www. angeben
     'example.uk' => array(
             'GETvars' => array(
             'L' => '1',
         ),
         'useConfiguration' => '_DEFAULT',
     ),
    'example.cn' => array(
            'GETvars' => array(
             'L' => '2',
         ),
         'useConfiguration' => 'example.cn',
        //Wenn für diese Domain in dieser Sprache eine andere
        //Konfiguration genutzt werden soll, diese hier angeben.
     ),
 ),
);

Mit dieser Konfiguration werden nun URLS, die per typolink, zum Beispiel durch ein HMENU mit Eigenschaft special = language erzeugt wurden automatisch auf die korrekte Domain ausgestellt. Diese Methode funktioniert meines Wissens nach nur mit  der On-Tree Variante der Mehrsprachigkeit, wo alle Sprachen im selben TYPO3 Seitenbaum dargestellt werden.
Wichtig ist, dass alle genannten Domains auf die TYPO3 Installation verweisen und nicht nur Weiterleitungen irgendeiner Form sind.
Damit die Domains auch korrekt erzeugt werden müssen weiterhin die BaseURLs pro Sprache gesetzte werden:

# Deutsch / Hauptsprache
config {
 sys_language_uid = 0
 language = de
 locale_all = de_DE
}

config.baseURL = http:// example.de/

# Englisch / 2. Sprache
[globalVar = GP:L = 1]
config {
 sys_language_uid = 1
 language = en
 locale_all = en_US
}
config.baseURL = http:// example.uk/
[global]

# Spanisch / 3. Sprache
[globalVar = GP:L = 2]
config {
 sys_language_uid = 2
 language = es
 locale_all = es_ES
}
config.baseURL = http:// example.cn/
[global]

Im Folgenden noch einige Nützliche Links.

Zu "Mit RealURL Multilanguage Site mit Multidomains realisieren"

Gravatar: Lina Zu
Das ist in der Tat seltsam, denn im RTE sehen die Domains in dem oberen und unteren Code gleich aus. Sie sollten auch nicht verlinkt sein und das http und der / sind im RTE auch da.
Ich werde mal nachforschen aber so lange könnt Ihr auch einfach den Download verwenden.

Liebe Grüße Lina

Zu "Mit RealURL Multilanguage Site mit Multidomains realisieren"

Gravatar: Tim Zu
Ich weiß nicht ob das durch deinen Editor kommt oder durch sonstwas, aber alle baseURL´s sind so nicht korrekt. Es fehlt je das \"http://\" davor und der \"/\" am Ende.

Danke für den Beitrag...

Beste Grüße,
Tim

Übersetzung der RealURL Pfade

Gravatar: Lina Übersetzung der RealURL Pfade
Zu der Übersetzung der RealURL Pfade gibt es soweit ich weiß Extensions. Setzt Du eine davon ein?

Zu "Mit RealURL Multilanguage Site mit Multidomains realisieren"

Gravatar: chris Zu
Klasse Sache. Aber obwohl ich schon sämtliche Lösungsvorschläge benutzt habe (rootpage_id usw) bekomme ich diese \"Reason: Segment \"...\" was not a keyword for a postVarSet as expected!\" Fehlermeldung.
Vielleicht hier noch einer eine Idee?
Liebe Grüße
Chris

Zu "Mit RealURL Multilanguage Site mit Multidomains realisieren"

Gravatar: pixelMik Zu
Look here
http://bugs.typo3.org/view.php?id=10774

Zu "Mit RealURL Multilanguage Site mit Multidomains realisieren"

Gravatar: pixelmik Zu
Schöne Lösung aber da die RealUrl Pfade nicht mehr übersetzt sind kann ich es nicht gebrauchen.
Ist das ein Bug? Kann man das nicht irgendwie optimieren?

Zu "Mit RealURL Multilanguage Site mit Multidomains realisieren"

Gravatar: Rouven Zu
Bei der hier verwendeten Methode hab ich das Problem, dass alle Pfade weiterhin den Default Namen benutzen, die Seite aber in der korrekten Sprache angezeigt wird.
Wenn ich in der localconf.php die $_GET[\'L\'] richtig setze sind die Pfade wieder alle sauber, der Sprachwechsel erstellt allerdings immer nur Links auf die aktuelle Domain...

Gravatar: Willi
Bei der Verwendung von sr_language_menu muss eine Bugfix eingespielt werden.
http://forge.typo3.org/issues/8545

Kommentar hinzufügen

* - Pflichtfeld

*




*