Zum Inhalt springen

Variable Tabellen auslesen

Erstellt am 17. Dezember 2011 · 3 Antworten · letzte Antwort am 22. Dezember 2011

Tags: Frage

Niklas Lazinbee ·

Hallo,
ich möchte folgendes TypoScript mit verschiedenen Sprachen anwenden

page.headerData.586 = CONTENT
page.headerData.586 {
    table = pages
    slide = -1
    
    renderObj = COA
    renderObj {
    ...

Damit ich das nicht alles für die zweite Sprache noch einmal schreiben muss dachte ich an diese Lösung

lib.menuLanguage = COA
lib.menuLanguage.10 = TEXT
lib.menuLanguage.10.value = pages

[globalVar = GP:L = 1]
lib.menuLanguage = COA
lib.menuLanguage.10 = TEXT
lib.menuLanguage.10.value = pages_language_overlay
[global]



page.headerData.586 = CONTENT
page.headerData.586 {
    table < lib.menuLanguage
    slide = -1
    
    renderObj = COA
    renderObj {

Das funktioniert aber nicht. Hat jemand eine Idee, wie das zu lösen wäre?

Beste Grüße
Niklas

Chrissli ·

Hallo Niklas,

ich bin nicht so ganz sicher was du vorhast,
aber normalerweise kann man die Sprache so handeln:

page.config {
  sys_language_uid = 0
  locale_all = de_DE
  language = de
}

[globalVar = GP:L = 1]
page.config {
  sys_language_uid = 1
  locale_all = en_GB
  language = en
}
[global]


page.headerData.586 = CONTENT
page.headerData.586 {
    table = pages
    select.languageField = sys_language_uid
    slide = -1
    ...
Niklas Lazinbee ·

Besten Dank für den Hinweis, das hatte ich schon probiert. Wenn ich es richtig einschätze funktioniert 'select.languageField = sys_language_uid' nur, wenn man die Tabelle tt_content ausliest, bei den Seiteneigenschafte funktioniert dies anscheinend anders, da gibt es die Tabele 'pages' und die Sprachvarianten liegen dann in 'pages_language_overlay'. Deswegen wollte ich für die zweite Sprache diese Tabelle auslesen.

Davon abgesehen tut sich noch ein anderes Problem auf, in der Konstellation tut 'slide = -1' mir alle Einträge des kompletten Seitenbaums einsammeln und nicht nur die des Astes, in dem ich mich gerade befinde.

Beste Grüße
Niklas

Niklas Lazinbee ·

So gehts natürlich, es muss ja nicht alles in derselben Klammer stehen:

page.headerData.586 = CONTENT
page.headerData.586 {
	table = pages
}

[globalVar = GP:L = 1]
page.headerData.586 = CONTENT
page.headerData.586 {
	table = pages_language_overlay
}
[global]

page.headerData.586 = CONTENT
page.headerData.586 {
	....
hier dann die eigentlichen Funktionen
....
}