Zum Inhalt springen

Parameter wird nicht geändert

Erstellt am 10. Oktober 2009 · 2 Antworten · letzte Antwort am 10. Oktober 2009

Tags: Frage

pat13 ·

Um einen ersten Einblick in Typo3 zu bekommen, habe ich das Tutorial, das auf der typo3.net Homepage verlinkt ist, durchgearbeitet (http://www.mittwald.de/fileadmin/pdf/dokumentation.pdf).

In Kapitel 7.2, ab Seite 176, wird beschrieben, wie man mehrsprachige Webseiten machen kann. Ich wähle Deutsch als default, Englisch als zweite Sprache (id=1).
Mit folgender Condition sollte im Footer der Text umgestellt werden können (deutsch/englisch):

[globalVar = GP:L = 1]
	config.sys_language_uid = 1
	config.language = en
	config.localeAll = gb_UK
	page.10.marks.FOOTER.value = Deutsch
	page.10.marks.FOOTER.typolink.additionalParams = &L=0
[global]

Mein Problem: Der Value und additionalParam im Footer-Text bleiben immer gleich. Die Condition wird imho durchlaufen, da die sys_language_uid ändert, je nachdem, ob ich auf der englischen oder deutschen Seite bin.

Nach langem Recherchieren kann ich immer noch nicht sagen, warum der value nicht angepasst wird. Der Code stammt ja auch aus dem Tutorial, sollte also funktionieren. Er macht imho auch Sinn.
Wahrscheinlich nur ein kleiner Tippfehler oder ein Copy-Paste-Vergehen, ich komm aber einfach nicht drauf. Wäre nett, wenn jemand mit etwas mehr Distanz mir da weiterhelfen könnte. Unten angehängt noch der komplette TS-Code.

Vielen Dank, Pat

config.linkVars = L
config.uniqueLinkVars = 1
config.sys_language_uid = 0
config.language = de
config.localeAll = de_DE

[globalVar = GP:L = 1]
	config.sys_language_uid = 1
	config.language = en
	config.localeAll = gb_UK
	page.10.marks.FOOTER.value = Deutsch
	page.10.marks.FOOTER.typolink.additionalParams = &L=0
[global]

page = PAGE
page {
	typeNum = 0
	stylesheet = fileadmin/style.css
	meta.AUTHOR = Ich

	10 = TEMPLATE
	10.template = FILE
	10.template.file = fileadmin/vorlage.html
	10.workOnSubpart = DOKUMENT
	
	10.marks {
	
		FOOTER = TEXT
		FOOTER {
			value < config.sys_language_uid
			typolink.parameter.data = page:uid
			typolink.additionalParams = &L=1
		}

		RECHTS = CONTENT
		RECHTS {
			table = tt_content
			select.orderBy = sorting
			select.where = colPos = 2
			select.languageField = sys_language_uid
		}

		MITTE_CONTENT = CONTENT
		MITTE_CONTENT {
			table = tt_content
			select.orderBy = sorting
			select.where = colPos = 0
			select.languageField = sys_language_uid
		}
		
		TRAILER = IMAGE
		TRAILER.file = GIFBUILDER
		TRAILER.file {
			XY = 797, 110
			backColor = #B0C0D0
			10 = TEXT
			10.text.field = subtitle // title
			10.fontSize = 50
			10.fontFile = fileadmin/fonts/verdana.ttf
			10.fontColor = #C8D3DE
			10.niceText = 1
			10.offset = 10,95
			
			20 = TEXT
			20.text.field = subtitle // title
			20.fontSize = 25
			20.fontFile = fileadmin/fonts/verdana.ttf
			20.fontColor = #FFFFFF
			20.niceText = 1
			20.offset = 50,95
		}

		MENU_OBEN = HMENU
		MENU_OBEN.special = directory
		MENU_OBEN.special.value = 10
		MENU_OBEN.1 = TMENU
		MENU_OBEN.1.NO = 1
		MENU_OBEN.1.NO.ATagParams = class="linkWeiss"
		MENU_OBEN.1.NO.linkWrap =  | | |*|  | | |*|  |
		
		MENU_LINKS = HMENU
		MENU_LINKS {
			special = directory
			special.value = 9
			1 = GMENU
			1.NO = 1
			1.NO {
				wrap = |<br />
				XY = 180,25
				backColor = #335C85
				
				10 = TEXT
				10.text.field = title
				10.fontColor = #FFFFFF
				10.fontFile = fileadmin/fonts/verdana.ttf
				10.fontSize = 10
				10.niceText = 1
				10.offset = 40,17
				
				20 = IMAGE
				20.file = GIFBUILDER
				20.file {
					XY = 180,1
					backColor = #FFFFFF
				}
				20.offset = 0,24
			}
			1.RO < .1.NO
			1.RO {
				tmp < .backColor
				backColor = #B0C0D0
				5 < .10
				5.fontColor < .tmp
				5.offset = 42,19
			}
			1.CUR < .1.RO
			2 < .1
			2 {
				NO.backColor = #B0C0D0
				NO.10.fontColor = @335C85
				NO.20.file.backColor = #335C85
				RO < .NO
				RO.backColor = #FFFFFF
				RO.5 >
				CUR < .RO
		}
	}
}
Unbekannter Benutzer ·

Es wird von oben nach unten in Codereihenfolge überschrieben, d.h.

page.10.marks.FOOTER.value = Deutsch

page.10.marks.FOOTER.value = Blubb

ergibt am Ende Blubb, weil das unter der ersten Zeile steht, d.h. du müsstest die Reihenfolge ändern.

pat13 ·

Vielen Dank für die (eigentlich einleuchtende) Antwort.

Daraus schliesse ich, das Conditions, die Parameter abändern, zwingend am Schluss des Scripts stehen müssen. War ja auch so im Tutorial. Dieses hat bei mir nicht funktioniert, weil (wie du richtigerweise im anderen Thread #93550 bemerkt hast) eine Klammer nicht richtig abgeschlossen war.