Zum Inhalt springen

Parameter von einem DCE im Template prüfen und ggf. überschreiben

Erstellt am 26. März 2015 · 3 Antworten · letzte Antwort am 14. April 2015

Tags: Fluid, DCE, Frage

chrisi51 ·

Hallo,

ich lege gerade ein DCE an, bei dem ein optionaler Parameter vom Redakteur eingegeben werden kann. Ist dieser nicht vom Redakteur ausgefüllt, würde ich ihn gern im Template mit einem Default versehen.

Habe ich irgendeine Chance?

Was ich bisher versucht habe ist folgendes:

<f:if condition="{field.slotcolor} == ''">
	<f:then>
		<f:alias map="{slotcolor: '#FFFFFF'}">
			>1>{slotcolor}<1<
		</f:alias>
		>2>{slotcolor}<2<
	</f:then>
	>3>{slotcolor}<3<
	<f:else>
		<f:alias map="{slotcolor: field.slotcolor}">
			>4>{slotcolor}<4<
		</f:alias>
		>5>{slotcolor}<5<
	</f:else>
	>6>{slotcolor}<6<
</f:if>	
>7>{slotcolor}<7<

Das zu prüfende Feld ist field.slotcolor und ich muss es auf einen Wert forcen sofern keiner eingegeben wurde. Mein Ansatz funktioniert grundsätzlich, jedoch müsste ich die If und Alias-Konstrukte um mein gesamtes Template legen und da ich von diesen Parametern mehrere habe, wird es sehr unübersichtlich. Ich weiß auch gerade noch nicht, ob man Alias überhaupt verschachteln kann.

viele Grüße
Chris

chrisi51 ·

Ich habe es nun vorerst so gelöst, dass ich den Parameter überall prüfe, wo er ausgegeben wird und dann dort lokal entweder den Parameter selbst oder eben einen statischen Wert ausgebe. Ist nicht super schick, aber geht zumindest erstmal.

Wenn jemand eine elegantere Methode kennt, wär ich nach wie vor sehr verbunden 🙂

jenses ·

Ich würde dazu v.variable.set nutzen in Kombination mit if/then/else,
und dann im Template durchgehend zur Farbzuweisung nutzen -
eine if/then/else-Abfrage statt xx-zig...

chrisi51 ·

Hallo jenses,

hatte den Beitrag schon vor geraumer Zeit gelesen aber dann fehlte leider die Zeit, sich damit zu beschäftigen.

Ich hatte das v.variable.set auch schon mal vor mir allerdings verstehe ich nicht, wie ich das "vhs" überhaupt nutzen kann.

Irgendwie scheint man das vhs zuvor Typo3 beibringen zu müssen?! Zumindest, wenn ich mit dem "Befehlssatz" von vhs-viewhelpern rumspiele, werden diese immer nur im Klartext ausgegeben.

Lösung:
NARF ... es gibt eine Extension VHS, die man nur installieren muss, damit die Viewhelper dieser Kollektion aktiv werden ... wer es bisher nicht wusste, fühlt sich vielleicht geholfen *lach*