Zum Inhalt springen

Mehrsprachigkeit SelectBox wird nicht angezeigt

Erstellt am 1. Juni 2012 · 2 Antworten · letzte Antwort am 5. Juni 2012

Tags: Frage

dschum ·

Hallo, bin noch ziemlich neu unterwechs mit Typo3.
Ich verwalte im moment eine Multidomain Typo3 Installation.
In eine der Seiten wurde bereits eine Englische Sprachversion integriert (one tree) und die Auswahl der Spache im Frontend über eine SelectBox realisiert. Nun möchte ich für eine der anderen Seiten ebenfalls solch eine Sprachauswahl umsetzen.

In der funktionierenden Version wurde der full.htm und index.hmt eine Selectbox hinzugefügt:

SelectBox in full.htm und index.htm

<div id="top-right">
          <div id="top-nav">
            <a href="#">Notebookwagen</a> | <a href="#">intellididact</a>
          </div>
          <div id="lang">
            <select name="lang" size="1">
              <option>Deutsch</option>
              <option>English</option>
            </select>   
          </div>

und über Template-> +ext Language -> Setup folgendes TypoScript

TS in +ext Language

# # Sprachwahl [BEGIN]

lib.lang = COA
lib.lang.wrap = <select onchange="window.open(this.options[this.selectedIndex].value,'_top')" name="lang" size="1">|</select>
lib.lang.10 = TEXT
lib.lang.10.data= TSFE:id
lib.lang.10 {
	wrap = <option value="{$sitepath}index.php?id=|">Deutsch</option>
}
lib.lang.20 = TEXT
lib.lang.20.data= TSFE:id
lib.lang.20 {
	wrap = <option value="{$sitepath}index.php?id=|&L=1">English</option>
	
}

# # Sprachwahl [END]

# # Language [BEGIN]

config.linkVars = L
config.baseURL = {$sitepath}

config.sys_language_mode=content_fallback
config.sys_language_overlay = hideNonTranslated

config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
config.htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"

[globalVar = GP:L = 1]
config.sys_language_uid = 1
page.config.sys_language_error_pid = 79
config.language = en
config.locale_all = en_EN
config.htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"

lib.lang.20.wrap = <option value="" selected="selected">English</option>
[global]

# # Language [END]

Den html-Code und das TS habe ich einfach übernommen und CSS für den div-Kontainer war schon vorhanden, es wird aber leider im Frontend keine Auswahl angezeigt. Muss ich noch weitere Dinge konfigurieren? Eventuell CoolUri oder die .htaccess ?

dschum ·

Okay, die selectbox wird nun endlich angezeigt. Musste nur das mapping updaten. Wie gesagt bin noch recht frisch mit typo3..
So weit so gut.

Nun klappt aber iwie die Umschaltung der Sprachen nicht. Wenn ich auf Englisch klicke passiert scheinbar rein gar nichts. Eigentlich müsste sich doch die URL ändern oder nicht?
Kopien der Originaltexte hab ich angelegt damits halt auch was zum umschalten gibt, aber es passiert nix.

dschum ·

Ok also ich glaub was ich da gemacht hatte mit dem HTML Code war ziemlicher Müll ^^'
Hatte das ja wirklich direkt in die html Dateien geschrieben, was man ja nicht so macht... glaube ich >.<
Also hab ichs da wieder rausgenommen. Stattdessen gehe ich jetzt davon aus das ich über das Modul templavoila in den xml Dateien das folgende hinzufügen muss. Frage: darf ich da einfach was hinzufügen oder mach ich damit iwas kaputt? :/

XML aus einer der Seiten die auf Englisch funktionieren:

<field_lang type="array">
<tx_templavoila type="array">
<title>Language</title>
<sample_data type="array">
<numIndex index="0"></numIndex>
</sample_data>
<eType>TypoScriptObject</eType>
<TypoScriptObjPath>lib.lang</TypoScriptObjPath>
</tx_templavoila>
</field_lang>