Viersprachige Website und eine Sprache mit einer anderen Domain
Hallo zusammen
Ich habe eine viersprachige Website: de-CH, en-CH, fr-CH und dann noch de-AT für Österreich.
Die ersten drei Sprachen sollen über die domain.ch aufgerufen werden. Die Seite für Österreich via die domain.at
Wie kann ich das mit Contao bewerkstellingen? Beide Domains zeigen in den gleichen Ordner der Contao-Installation. Wenn ich aber beim Startpunkt des österreichischen Seitenbaumes die Domain www.domain.at eintrage, wird diese Seite ja wie abgekapselt und ich kann dann darauf via den Sprachwechsler usw. nicht mehr zugreifen. Aber ohne diesen Eintrag leitet Contao die Seite immer auf domain.ch
Es sollte dann wie folgt aussehen:
domain.ch/de-CH
domain.ch/fr-CH
domain.ch/en-CH
domain.at/de-AT
Gibt es dafür eine Lösung?
Danke und Gruss
Marco
Problem mit Google-Sitemap
Hmm.. es ist jetzt noch ein Problem aufgetaucht... und zwar bei der Google-Sitemap. Da stehen die Links für de-AT jetzt natürlich mit der .ch-Domain drin.
Also beim Seitenbaum de-AT steht in der XML-Datei dann halt www.domain.ch/de-AT/xy.html drin anstatt www.domain.at/de-AT/xy.html
Muss ich das jetzt "unschön" via Cronjob umschreiben oder gibt es dazu einen anderen Weg? (Trick 77, HOOK?)
Ich müsste beim Generieren der XML-Dateien irgendwie eingreifen können. Die XML wird ja hier erstellt: tl_page.php#L1604
Oder einen "onsubmit_callback" bei tl_page und die XML selbst generieren?
Ideen? Vorschläge? :)
Danke und LG
Marco
Lösung heisst getSearchablePages HOOK
Ich konnte das Problem in der Zwischenzeit lösen :D
Es gibt einen HOOK, mit dem man in die Erstellung der Sitemap eingreifen kann.
Das geht mit dem getSearchablePages HOOK (siehe auch Automator.php#L404)
PHP-Code:
public function editSitemap($arrPages, $intRoot)
{
// 4 = page root ID 4 (de-AT)
if($intRoot == 4){
$arrPages = str_replace('www.domain.ch', 'www.domain.at', $arrPages); //replace .ch with .at
}
return $arrPages;
}