Hallo Forum,
habe hier 2 Seiten in einer mehrsprachigen (one-tree) t3-Instanz/DB mit RealUrl
dabei möchte ich bei Seite_1 für jede Sprache eine eigene Domain/Subdomain in der Art:
seite_1:
deutsch -> domain_1.de
englisch -> domain_1.com
chinesisch -> cn.domain_1.com
französisch -> fr.domain_1.com
In der localconf.php habe ich innerhalb des
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array
die Language-preVars für das Pfadsegment auskommentiert und dahinter innerhalb eines
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DOMAINS'] = array
mit encode/decode die jeweiligen domains/subdomains den Sprachen zugeordnet.
ausserdem im TS-Setup:
[globalVar = GP:L = 0]||[globalString = IENV:HTTP_HOST = *domain_1.de]
config {
linkVars = L
sys_language_uid = 0
language = de
locale_all = de_DE.utf-8
htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"
htmlTag_langKey = de-DE
baseURL = http://www.domain_1.de/
}
[global]
[globalVar = GP:L = 1]||[globalString = IENV:HTTP_HOST = www.domain_1.com]||[globalString = IENV:HTTP_HOST = domain_1.com]
config {
linkVars = L
sys_language_uid = 1
language = en
locale_all = en_EN.utf-8
htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
htmlTag_langKey = en-EN
baseURL = http://www.domain_1.com/
}
[global]
[usw....]
Das klappt auch soweit wie gewünscht.
Ein Problem habe ich aber jetzt, seite_2 per localconf.php zu konfigurieren.
Bei Seite_2 soll nämlich - anders als bei seite_1 - nur eine Domain, domain_2 zwei Sprachen zugeordnet werden in der Art:
seite_2:
deutsch -> domain_2.com/de
englisch -> domain_2.con/en
weil ich für die Sprachkürzel im Pfad die Definition der (für seite_1 auskommentierten) preVars brauche, habe ich deshalb für domain_2 zusätzlich in die localconf.php geschrieben:
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DOMAIN_2'] = array(
/* ------------------------------------------ general Config of extension */
'init' => array(
'enableCHashCache' => 1,
'enableUrlDecodeCache' => 1,
'enableUrlEncodeCash' => 1,
'doNotRawUrlEncodeParameterNames' => 1,
'enableAllUnicodeLetters' => 1,
'appendMissingSlash' => 'ifNotFile',
),
'redirects' => array(),
/* ------- prevars = fixed set of vars of the initial Path-Segment*/
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'L',
'valueMap' => array(
'de' => '0',
'en' => '1',
),
'valueDefault' => 'de',
),
),
//-------- pagePath = transformation of id to pathsegment
'pagePath' => array(
'rootpage_id' => 117, // <<<<<<<<<<<<=========== hier die root-PID von domain_2
'firstHitPathCache' => 1,
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 3,
'firstHitPathCache' => 1,
'segTitleFieldList' => 'alias,tx_realurl_pathsegment,title,nav_title',
),
/* ------------------------------------ filename */
'fileName' => array (
'defaultToHTMLsuffixOnPrev' => 1,
'index' => array(
'page.html' => array(
'keyValues' => array (
'type' => 1,
),
),
),
),
);
Dann sage ich der seite_2, bzw. domain_2 noch, welche realUrl-Konfiguration benutzt werden soll (nämlich die, mit den sprach-preVars...):
$TYPO3_CONF_VARS['EXTCONF']['realurl']['domain_2'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DOMAIN_2'];
mein TS_setup hier standard:
config{
# ------------------------------------- RealUrl:
simulateStaticDocuments = 0
baseURL = http://www.domain_2/
tx_realurl_enable = 1
prefixLocalAnchors = all
disablePrefixComment = 1
}
#-------------------------------------- Lokalisierung
[globalVar = GP:L = 1]
config {
linkVars = L
sys_language_uid = 1
language = en
locale_all = en_EN.utf-8
htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
htmlTag_langKey = en-EN
}
[global]
Das Ergebnis ist: bei seite_2 klappt nur die deutsche Version der Seite, für die englische Version wird der Sprachkürzel nicht in den Pfad geschrieben...
Hat jemand eine Idee, was ich übersehen habe?
Für einen Tipp sehr dankbar
Eckhard