Zum Inhalt springen

Anders HTML-Template für Englisch

Erstellt am 22. Januar 2007 · 3 Antworten · letzte Antwort am 24. Januar 2007

Tags: Templates & Layouts, Frage

kazi ·

Habe 2-Sprachiges Portal, möchte für english anderes HTML-Template auswählen
Wie kann ich das machen ? Im Forum war die Rede von conditions.

Ich benötige sowas in der Art :
IF (L=DE/0) {wähle DE_Template aus}
IF (L=EN/1) {wähle EN_Template aus}

Mein Typoscript sieht wie folgt aus:

page = PAGE
page.typeNum = 0 

page.10 = TEMPLATE  
page.10 {
 template = FILE
 template.file = fileadmin/template/TF3-Template-11.html
 workonSubpart = DOKUMENT
 #marks.CONTENT < styles.content.get
 marks {
       MITTE = CONTENT
         MITTE{
           table = tt_content
                     select {
                             where = colPos = 0
                                  orderBy = sorting
                                   languageField = sys_language_uid
                            }
         }
        RECHTS = CONTENT
        RECHTS {
                  table = tt_content
                     select {
                          where = colPos = 2
                            orderBy = sorting
                             languageField = sys_language_uid
                            }
          }
 }
McGregor ·

Hi!

Das sollte aber im Forum schon 100x beantwortet sein ...
Und ich habe auch im 3. Beitrag bei der Suche nach "Condition sprache" die Lösung gefunden...

Grüße
McGregor

kazi ·

Hi McGregor,

danke für den Hinweis.

So habe es erweitert, wo liegt der Fehler? Habe die Conditions ausserhalb geschweifter Klammern geschriebn, aber es klappt nicht.

page = PAGE
page.typeNum = 0

page.10 = TEMPLATE  
page.10.template = FILE


[globalVar = GP:L=0]
page.10.template.file = fileadmin/template/language_0.html 
[globalVar = GP:L=1]
page.10.template.file = fileadmin/template/language_1.html 
[global]
 
page.10 {
 workonSubpart = DOKUMENT
 #marks.CONTENT < styles.content.get
 marks {
       MITTE = CONTENT
         MITTE{
           table = tt_content
                     select {
                             where = colPos = 0
                                  orderBy = sorting
                                   languageField = sys_language_uid
                            }
         }
        RECHTS = CONTENT
        RECHTS {
                  table = tt_content
                     select {
                          where = colPos = 2
                            orderBy = sorting
                             languageField = sys_language_uid
                            }
          }
 }
kazi ·

Ok, die Condition ssehen wie folgt aus :

config.linkVars = L 

[globalVar = GP:L = 0] 
page.10.template.file = fileadmin/template/language_0.html 
config.sys_language_uid = 0 
config.language = de
config.locale_all = de_DE
[globalVar = GP:L = 1]
page.10.template.file = fileadmin/template/language_1.html  
config.sys_language_uid = 1
config.language = en
config.locale_all = english
[else]
page.10.template.file = fileadmin/template/language_0.html  
[global]

Also will erreichen, dass bei L=0 und kein L also der Else Zweig das deutsche template mit fileadmin/template/language_0.html genommen wird.

Falls L=1 soll englisch genommen werden mit
page.10.template.file = fileadmin/template/language_1.html

Nun habe ich ein Problem mit der Inmitilaisierungsvariable "config.linkVars = L "

Einmal englisch ausgewählt, so bleibt in der URL der Parameter L=1 immer gesetetzt, auch bei Seiten die keine Übersetzung haben. Das heisst, das deutsche Seiten das englische Template erhalten. Ich muss explizit die Sprache ändern, damit das deutsche Templaet geladen wird.

Aber eigentlich sollte doch beim Wechsel von übersetzer seite auf eine ohne Übersetzung die Variable von L=1 (Für Englisch) auf L={Leere Menge} gesetzt werden. #angry#
Hat einer einen TIP

Ciao Kazim