Zum Inhalt springen

language overlay bei pages select-Abfrage nicht möglich?

Erstellt am 28. April 2010 · 6 Antworten · letzte Antwort am 4. Mai 2010

Tags: Frage

4423je ·

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

algiz ·

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
4423je ·

... 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

4423je ·

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

algiz ·

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.

4423je ·

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