Hallo,
Ich möchte mit untenstehendem TS ein mehrsprachiges Menü ausgeben:
lib.scrollnavi = CONTENT
lib.scrollnavi {
table = pages
select {
pidInList = 3
orderBy = sorting
field=title
#where = (NOT hidden) AND (NOT deleted)
languageField = sys_language_uid
}
Leider funktioniert das wegen languageField = sys_language_uid nicht, da es in der Tabelle pages kein sys_language_uid gibt (wohl aber bei tt_content). Sobald ich
languageField = sys_language_uid rausnehme, werden die Menüpunkte der Standardsprache wieder angezeigt.
Nach stundenlangem Suchen habe ich folgenden Vorschlag gefunden:
[ globalVar = GP:L = 1 ]
lib.scrollnavi.select {
join= pages_language_overlay ON(pages.uid=pages_language_overlay.pid)
andWhere {
data = TSFE:sys_language_content
wrap = pages_language_overlay.sys_language_uid=|
}
}
[global]
Leider ohne Erfolg, die Menüpunkte werden nicht angezeigt.
Gibt es da noch einen anderen Weg, bin echt am Verzweifeln, da ich diese Menüs nicht über TMENU erstellen kann.
Vielen Dank
je
Warum kannst du denn dieses Menü nicht über HMENU machen?
Was mir spontan zu deinem Problem einfällt: Vielleicht hast du dich nur verschrieben. Habs zwar jetzt nicht ausprobiert, aber die Sprach-ID steht nicht in TSFE:sys_language_content, glaube ich.
lib.scrollnavi.select.andWhere.data = TSFE:sys_language_uid
das Problem wurde bereits 2007 angesprochen:
http://bugs.typo3.org/view.php?id=5918
Ich habe die Menüs nun nach ein wenig Tüfteln auf HMENU umgestellt, mir war nicht klar, dass ich in einem renderObj auch ein HMENU einbauen kann.
Danke für deine Hilfe.
jens
... und natürlich hast du recht!!!😉
algiz schrieb
lib.scrollnavi.select.andWhere.data = TSFE:sys_language_uid
so geht es jetzt:
[ globalVar = GP:L = 2 ]
lib.accordion.select {
join= pages_language_overlay ON(pages.uid=pages_language_overlay.pid)
andWhere {
data = TSFE:sys_language_uid
wrap = pages_language_overlay.sys_language_uid=|
}
}
[global]
Nochmal: DANKE
Doch zu früh gefreut:
Nun werden zwar alle Felder der Seiteneigenschaften korrekt übersetzt, aber die Texte aus tt_content werden nur noch in der Standardsprache angezeigt, in der Alternativsprache erscheint nichts.
Ich habe folgendes ohne Erfolg probiert, kann man den join für bestimmte selects wieder abstellen?
[ globalVar = GP:L = 2 ]
lib.accordion.renderObj.70.select.join >
[global]
Es ist zum Haareraufen #angry#
jens
Wie bindest du denn die Seiteninhalte ein?
Solange die Spracheinstellungen per config richtig gesetzt sind, sollte das eigentlich kein Problem sein.
Poste mal bitte deine Spracheinstellungen aus dem TS.
So sehen meine Spracheinstellungen aus:
#Default Sprach-ID
config.sys_language_uid = 0
config.language = de
config.htmlTag_langKey = de
config.locale_all = de_DE
config {
linkVars = L
sys_language_mode = content_fallback
sys_language_overlay = 1
}
[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = en
config.metaCharset = utf-8
config.locale_all = en_EN
config.htmlTag_langKey = en
[global]
In einem anderen Ext-Template gibt es dann noch das:
config {
baseURL = http://gelöscht
prefixLocalAnchors = all
tx_realurl_enable = 1
doctypeSwitch = 1
simulateStaticDocuments = 0
disablePrefixComment = true
spamProtectEmailAddresses = -1
spamProtectEmailAddresses_atSubst = (at)
doctype = xhtml_trans
xmlprologue = none
xhtml_cleaning = all
metaCharset = utf-8
noPageTitle = 2
htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"
index_enable=1
}
Das Thema ist zwar nicht mehr aktuell, da ich, aus Zeitgründen, mittlerweile komplett auf HMENU umgestellt habe, aber interessant wäre es ja trotzdem, zu wissen, woran es lag.
Beste Grüße
jens