Hallo!
Ich hab - wie wohl noch mehr hier - das bekannte php-script mit den Flaggen in meine Seite eingebaut, um die Sprachumschaltung zu realisieren. Klappt prima! Nur ein kleines Problem: Wie bringe ich das Script dazu, auch schöne RealURLs zu verwenden, statt index.php?...-URLs?
Hab ihm Forum leider keine Lösung dazu gefunden, nur Fragen danach! 😉
Tschüss
Marcus
Hallo!
Ich sag mal, dass ich noch keine Lösung hab, um das ganze wieder nach oben zu schieben!
Bye
Marcus
Hier ein kleines workout - eine Lösung via typoscript:
Wir nehmen an dass 2 Sprachversionen zu implementieren sind: DE und EN:
im Haupttemplate im CONSTANTS-Feld(!!!) definieren wir einige Konstanten (die definierten Konstanten werden im Template mit einem $ und umgebenden {} curly-bracets angesprochen.
//--------------------------------------------------------------
// default language (de: id=0)
// index.php?id=123&L=0 oder index.php?id=123
//--------------------------------------------------------------
language_version = switch to English version
language_id = 0
language_key = de
foreignlanguage_id = 1
//--------------------------------------------------------------
// foreign language (en: id=1)
// wurde die englische Sprache aufgerufen? index.php?id=123&L=1
//--------------------------------------------------------------
[globalVar = GP:L > 0]
language_version = Deutsche Version ansehen
language_id = 1
language_key = en
foreignlanguage_id = 0
[global]
im Haupttemplate - SETUP-Feld sprechen wir einen Marker an und fügen dort den Umschalter zwischen den Sprachversionen ein (###LANGUAGE###):
//--------------------------------------------------------------
// Language-specific settings
//--------------------------------------------------------------
config.sys_language_uid = {$language_id}
config.language = {$language_key}
# Registrieren der GET-Variable L
# somit wird diese bei Menülinks und korrekt programmierten Extensions immer automatisch angehängt
config.linkVars = L
//--------------------------------------------------------------
// Language-menu
// erzeugen des a-Tags: zb: <a href="index.php?id=123&L=1">switch to Enlish version</a>
//--------------------------------------------------------------
temp.language = COA
temp.language {
10 = TEXT
10.value = {$language_version}
10.typolink {
parameter.data = page:alias // TSFE:id
additionalParams = &L={$foreignlanguage_id}
}
}
page.10.marks.LANGUAGE < temp.language
Nun müssen wir der REALURL-extension noch mitteilen wie die Links am ende aussehen sollen. zB sollte aus http://typo3.org/index.php?id=123&L=1 das hier werden:
http://typo3.org/en/123/
dies wird in der localconf.php definiert:
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] =
array(
'preVars' => array(
array(
'GETvar' => 'L',
'valueMap' => array(
'de' => '0',
'en' => '1',
'de' => ''
),
'noMatch' => 'bypass',
),
),
'fileName' => array (
'index' => array(
'page.html' => array(
'keyValues' => array (
'type' => 1,
)
),
'_DEFAULT' => array(
'keyValues' => array(
)
),
),
),
);
Hiho!
Hab eine ganz einfache Lösung gefunden, eine Extension, die macht was ich will: sr_language_menu
Tschüss
Marcus