Zum Inhalt springen

Multilanguage einrichten

Erstellt am 25. April 2003 · 2 Antworten · letzte Antwort am 12. Mai 2003

Tags: Frage

kojicmo ·

Hallo zusammen,

ich hatte meine Seite bereits mehrsprachig in Betrieb. Habe vor wenigen
Tagen endlich von Template;TU auf ein eigenes umgestellt und jetzt geht
nichts mehr. Ich hab neben dem Template in der Pageroot ein
Template "+ext: Language settings" mit folgendem Inhalt:

config.linkVars = L
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = de
[global]
[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = sp
[global]

Die Content Elements sind auch mit den richtigen IDs (1 für deutsch,
2 für spanisch) in der Datenbank, aber ich kann das Zeug nicht auslesen.
Meine Seite befülle ich wie folgt mit Inhalt (zwei Spalten):

page.20 {
marks.INHALT1 = CONTENT
marks.INHALT1.table = tt_content
marks.INHALT1.select.orderBy = sorting
marks.INHALT1.select.where = colPos = 0

marks.INHALT2 = CONTENT
marks.INHALT2.table = tt_content
marks.INHALT2.select.orderBy = sorting
marks.INHALT2.select.where = colPos = 2
}

Wie kann ich jetzt noch die Variable L aus dem HTTP-Request abfragen?
Ich habe probiert, das Ding direkt zuzugreifen, aber das geht nicht:

marks.INHALT2.select.where = sys_language_uid = L

Wäre nett, wenn mir jemand weiterhelfen könnte. Ach ja, das Tutorial
von Kasper kenne ich, hilft mir aber nicht weiter.

Gruß,

Marko

kojicmo ·

Es funktioniert jetzt zwar immer noch nicht, aber ich kann den
Wert der globalen Variablen auslesen. Ich lass mir jetzt mal zum
Debuggen den Wert anzeigen, funktioniert auch prima:

page.25 = TEXT
page.25.data = global:HTTP_GET_VARS|L

Aber warum kann ich das Teil nicht für ein Select-Statement
hernehmen? Keine der folgenden Zeilen bringt das gewünschte
Ergebnis:

marks.INHALT1.select.languageField = config.sys_language_uid
marks.INHALT1.select.languageField = global:HTTP_GET_VARS|L
marks.INHALT1.select.where = sys_language_uid = global:HTTP_GET_VARS|L

Nichtmal die Abfrage mit einer von Hand eingetragenen Zahl geht:

marks.INHALT1.select.where = sys_language_uid = 1

Woran könnte das liegen?

Gruß,

Marko

Terry Tornado ·

Probier's mal damit:

Setup:
# Setting up the language variable "L" to be passed along with links
config.linkVars = L

#####' set the default Site Language
config.sys_language_uid = 0
config.language = de

##### Define the used Site languages
# German language, sys_language.uid = 0
[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
# English language, sys_language.uid = 1
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = en
[global]

### get content
styles.content.get = CONTENT
styles.content.get {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
select.languageField = sys_language_uid
}

### get content.left
styles.content.getLeft < styles.content.get
styles.content.getLeft.select.where = colPos=1
### get content.right
styles.content.getRight < styles.content.get
styles.content.getRight.select.where = colPos=2
### get content.border
styles.content.getBorder < styles.content.get
styles.content.getBorder.select.where = colPos=3

Stephan