Hallo, ich wollte gerade die Extension rlmp_language_detection installieren, bekomme nach der Installation aber nur eine Fehlermeldung:
NO entry in the $TCA-array for the table "static_languages". This means that the function enableFields() is called with an invalid table name as argument.
Kennt jemand das Problem, woran kann das liegen? In meiner lokalen Testumgebung hats funktioniert ...
Typo3 4.0.5, rlmp_language_detection 1.2.1
Gruß
Harp
Hast du static_info_tables installiert?
Hallo Kitsunset,
danke für den Hinweis. Ich war mir sicher im changelog gelesen zu haben, dass die dependency auf static_info_tables entfernt wurde. Bei "Dependencies" der Extension stehts auch nicht drin. Wie auch immer, die Fehlermeldung is weg, danke.
Allerdings funktioniert die Sache nicht wirklich toll. Ich weiss nicht, obs an meiner Sprachkonfiguration liegt. Hier mal meine ganze Config, vielleicht fällt dir ja was auf. Die Name der Sprachen habe ich übrigens, wie im manual beschrieben, auf die 2-stelligen ISO-codes geändert:
page = PAGE
page {
typeNum = 0
headerData.10 < temp.headTemplate
meta.KEYWORDS.field = keywords
10 < temp.mainTemplate
shortcutIcon = fileadmin/templates/xxx/main/b/favicon_xxx.ico
headerData.1 = TEXT
headerData.1 {
field = title
wrap = <title>xxxxxxxxxxxxxxxxxxxx</title>
}
headerData.5 = TEXT
headerData.5 {
value = <meta http-equiv="Content-Script-Type" content="text/javascript">
}
includeCSS {
file1 = fileadmin/templates/xxx/main/css/rte_styles.css
file2 = fileadmin/templates/xxx/main/css/styles.css
}
includeLibs {
tmenu_layers = media/scripts/tmenu_layers.php
}
config {
noPageTitle = 2
doctype = xhtml_strict
xmlprologue = none
xhtml_cleaning = all
htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
admPanel = 0
extTarget = _blank
linkVars = L
sys_language_uid = 0
locale_all = de
language = de_DE
index_enable = 1
#index_externals = 1
googleAnalytics_account = UA-xxxxxxxx
googleAnalytics_trackDownloads = 1
googleAnalytics_trackExternal = .external
}
}
plugin {
tx_macinasearchbox_pi1 {
pidSearchpage = 46
templateFile = fileadmin/templates/xxx/macina_searchbox/template.htm
}
tx_rlmptmplselector_pi1 {
templatePathMain = fileadmin/templates/xxx/main/
templatePathSub = fileadmin/templates/xxx/sub/
defaultTemplateFileNameMain = default_template.html
defaultTemplateFileNameSub = default_sub_template.html
inheritMainTemplates = 1
inheritSubTemplates = 1
}
tx_indexedsearch {
templateFile = fileadmin/templates/xxx/search/search.html
_CSS_DEFAULT_STYLE = .tx-indexedsearch-info { background:#ADAE9E; } .tx-indexedsearch-redMarkup { color:#B79728; }
}
tx_kuloplayer_pi1 {
mediaServer = http://www.xxxxxxxxxxx.de/
mediaPath = fileadmin/xxx/Flash/
mediaWidth = 267
mediaHeight = 200
mediaPreload = 0
mediaCodec = 8
bgColor = ADAE9E
progressColor = 606058
percentColor = F7F7F7
buttonColor = 606058
autoStart = 0
autoRepeat = 0
controller = 1
menu = 0
sound = 1
align = center
border = border:2px solid #ADAE9E
margin = 0
textWidth = 250
}
tx_dropdownsitemap_pi1._CSS_DEFAULT_STYLE >
tx_toxxmlmenu_pi1 {
encoding = UTF-8
recursive = 3
displayValues = nav_hide, title, url, urltype, doktype, crdate, cruser_id, shortcut
displayNav_hide = 0
}
tx_rlmplanguagedetection_pi1 {
defaultLang = de
}
}
[globalVar = GP:L=4]
page.config {
sys_language_uid = 4
locale_all = en_EN
language = default
}
[global]
[globalVar = GP:L=2]
page.config {
sys_language_uid = 2
locale_all = es_ES
language = es
}
[global]
es ist falsch herum...
config.language = de
config.locale_all = de_DE
und bei englisch nicht language = default sondern language = de
Dann sollte es besser klappen.
Grüße
Christian
aber wenn ich bei englisch nicht language = default eintrage, dann checken die Extension XMLs das nicht!
Ich hab im übrigen die Extension wieder deinstalliert, weil irgendwie garnichts richtig funktioniert hat. Egal ob ich nur de oder de_DE eingetragen habe, en en_GB es es_ES, hat nie richtig funktioniert!
Eigentlich müsste das doch auch über TS gehen, oder? Darüber hinaus suche ich noch ne TS-Lösung, die je nach aufgerufener Domain die Sprache ändert. Alles was ich bis jetzt dazu gefunden habe hat nicht funktioniert ... bzw. dann wieder so gut funktioniert, dass ich unter der .es Domain die Sprache nicht mehr auf z.B. deutsch oder englisch umschalten konnte.
Im PHP wüsste ich ausnahmsweise wie´s geht:
<?PHP
$aufruf=getenv("HTTP_HOST");
if ($aufruf=="www.domain.de") $url="http://www.domain.de/index.php?L=0";
if ($aufruf=="www.domain.com") $url="http://www.domain.com/index.php?L=1";
header("Location: $url");
?>
... hab im Typo3 aber noch nix gefunden 🙁
Dein PHP Vorschlag würde aber auch dazu führen, dass du nicht mehr umschalten kannst. Im Moment halte ich die Extension für die beste Lösung. Und funktionieren tut sie.
TS Lösung je nach Domain sollte möglich sein, da musst du dann mit zwei Conditions arbeiten, nämlich einmal ob der Parameter L schon gesetzt ist (denn dann soll der ja gelten) und welche Domain aufgerufen wurde.
Grüße
Christian