Zum Inhalt springen

Headergrafik abhängig von der Sprache - Wie ?

Erstellt am 27. März 2009 · 6 Antworten · letzte Antwort am 6. Mai 2009

Tags: Bilder, Frage

target ·

Hi @ all,

ich habe eine Mehrsprachige Website zusammengebaut (8 Sprachen).
Nun wurde der Wunsch geäußert, die Bannergrafik dynamisch nach der grade gewählten Sprache anzupassen.

Die Mehrsprachigkeit habe ich nicht durch separate Seitenbäume erstellt,
sondern nach der Methode, die hier gezeigt wird: http://www.c-dev.ch/kaepten/typo3/tutorial_1_sprachen.html

Hat hier schon mal jemand so etwas gemacht - wenn ja - wie?
Hat jemand vielleicht weiterführende Links für mich?
Könnte man das ganze irgendwo in der config für jede seperate Sprache einfügen?

d.​walter ·

Ich denke mal, dass wenn du für jede Seite pro Sprache eine Headergrafik hast, kannst du die über TS bei deiner Spachdefinition mit einbauen.

Sollten es aber wiederum pro Sprache unterschiedliche Headergrafiken sein, wird es imo komplizierter.

Daniel

Unbekannter Benutzer ·

Das kannst du mit einer Condition machen:

[globalVar = GP:L=1]
Dein Bild
[global]

[globalVar = GP:L=2]
Dein Bild
[global]

[globalVar = GP:L=3]
Dein Bild
[global]

[globalVar = GP:L=4]
Dein Bild
[global]

und so weiter und sofort...
target ·

Erstmal danke für die Anregungen.
Die Headergrafik wird über einen Marker bei mir übergeben.
Daher sieht das TypoScript im Bezug zum Post von SLAng wie folgt aus:

# Deutsch Standardsprache
config {
	linkVars = L
	uniqueLinkVars = 1
	language = de
	locale_all = de_DE
	htmlTag_langKey = de
	sys_language_uid = 0
	marks.BILDERLEISTE = IMAGE
 	marks.BILDERLEISTE {
		file = fileadmin/images/header_de.png
 	} 
	
}

# Englisch
[globalVar = GP:L = 1]
config {
	language = en
	locale_all = en_US
	htmlTag_langKey = en
	sys_language_uid = 1
	marks.BILDERLEISTE = IMAGE
 	marks.BILDERLEISTE {
		file = fileadmin/images/header_int.png
 	} 
}
[global]

Das Problem dadurch ist, dass keine Grafik, sondern der Marker ###BILdERLEISTE### angezeigt wird.

onetit ·

Hallo

Ja, hast denn die subparts auch gesetzt?

Bei mir habe ich soetwas und das funktioniert.

[globalVar = GP:L=1]
........
temp.langbild.file = fileadmin/lang_pic/pic_fr.jpg
....
....
subparts.LANGBILD < temp.langbild

Hilft das weiter?

Gruss

Unbekannter Benutzer ·

das marks gehört auch nicht ins config, sondern ins Page-Object...

page = PAGE
page.10.marks {
        BILDERLEISTE = IMAGE
        BILDERLEISTE {
                file = fileadmin/images/header_de.png
        } 
}

und dann:

[globalVar = GP:L = 1]
page.10.marks {
        BILDERLEISTE {
                file = fileadmin/images/header_int.png
        } 
}
[global]
target ·

Irgendwie will das ganze immer noch nicht so wirklich.

Ich habe als erstes in meinem Typoscript das
PAGE Objekt definiert und anschließend die config, in der auch der doctype etc. und die Standard-Sprache definiert wird:

Anschließend folgt:

vorlage = PAGE
...
...
...
# Deutsch Standardsprache
config {
	linkVars = L
	uniqueLinkVars = 1
	language = de
	locale_all = de_DE
	htmlTag_langKey = de
	sys_language_uid = 0
	
	vorlage.10.marks {
        	BILDERLEISTE {
                	file = fileadmin/images/header_de.png
       		 }
	}
}
...
...
...

vorlage.10 = TEMPLATE
vorlage.10 {
 	template = FILE
 	template.file = fileadmin/templates/index.html
 	workOnSubpart = DOKUMENT
 	

	marks.BILDERLEISTE = IMAGE
	marks.BILDERLEISTE {
  		file = fileadmin/bilderLeisten/header_int.png 
  	} 
...

Am Ende des Typoscripts kommen dann die [globalVars] mit den ganzen Sprachdefinitionen:

# Englisch
[globalVar = GP:L = 1]
config {
	language = en
	locale_all = en_US
	htmlTag_langKey = en
	sys_language_uid = 1
	vorlage.10.marks {
        	BILDERLEISTE {
                	file = fileadmin/images/header_int.png
       		 }
	}
...
...
...

Ist es eigentlich nicht verboten innerhalb der [global] Klammern zu verwenden?
Ich meine so etwas mal gelesen zu haben.

Gruß target