Hallo miteinander,
ich möchte bei Fallback einen kurzen Text ausgeben, dass die Seite noch nicht in Sprache xyz zur Verfügung steht nebst dem Content in einer der Fallbacksprachen.
Ich habe versucht, per Conditions den Wert des L-Parameters mit sys_language_content zu vergleichen und bei Ungleichheit den Text auszugeben.
Dann passiert leider Folgendes:
Auf einer Seite, vorhanden in Defaultsprache (English) und Sprache 1 (Deutsch), deutscher Content vorhanden. Also eigentlich überhaupt kein Grund für ein Fallback.
Der Text erscheint, also hat die Condition gegriffen. Allerdings ist in der Debugausgabe sowohl GPvar:L als auch TSFE:sys_language_uid und TSFE:sys_language_content identisch 1.
#angry#
Anscheinend ist in der Condition der Wert von TSFE:sys_language_content konstant 0. Warum ist das so?
Wie könnte man das sonst noch lösen?
Vielen Dank im Voraus!
Hier mein Code:
config {
linkVars = L
uniqueLinkVars = 1
sys_language_mode = content_fallback ; 0,1
sys_language_overlay = 0
sys_language_softMergeIfNotBlank = tt_content:image
}
mod.web_layout.defLangBinding = 0
nebst
temp.fallback = TEXT
temp.fallback.value =
temp.fallback.stdWrap.insertData=1
[globalVar = GP:L=1] && [globalVar = TSFE:sys_language_content<1,tsfe:sys_language_content>1]
temp.fallback.value = Diese Seite liegt nicht in deutsch vor. {TSFE:sys_language_uid} {TSFE:sys_language_content} {GPvar:L}
[global]
und
temp.content = CONTENT
temp.content {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
select.languageField = sys_language_uid
}
Nachtrag (funktioniert ebenfalls nicht, zeigt immer englisch):
temp.fallback = CASE
temp.fallback {
key.field = sys_language_content
default = COA
default {
10 = TEXT
10.value = englisch
}
1 = COA
1 {
10 = TEXT
10.value = deutsch
}
}