Zum Inhalt springen

eine simples oder in der <f:if>

Erstellt am 6. Juli 2016 · 2 Antworten · letzte Antwort am 7. Juli 2016

Tags: Fluid, Frage

Tevsa ·

Der Code:

<f:if condition="{0:ereignis.catergory.0.uid} == {0:9}">
<f:then> 
</f:then>
<f:else>
	<f:if condition="{0:ereignis.catergory.0.uid} == {0:8}">

	</f:if>
	<f:else>
		<f:cObject typoscriptObjectPath="lib.AnzahlJahre" data='(2016-{f:format.date(date: ereignis.zeit, format: "Y")})'/>
	</f:else>
</f:else>
</f:if>

Was ich erreichen will:

Wenn die {ereignis.catergory.0.uid} NICHT 8 oder 9 ist, dann führe das
Typoscript aus und bereche die Jahre (auch noch nicht ganz fertig ...:-)

die erste If wird richtig ausgeführt

{ereignis.catergory.0.uid} entspricht der uid der Kategorie die über eine 2. Table eingebunden wird

Ich sehe meine Fehler nicht.
Mag mir da jemand eine Anstubs geben? :-D
Danke im Vorraus

Typo3 7.6.0

Tevsa ·

Äh gelöst:

<f:if condition="{0:ereignis.catergory.0.uid} == {0:9}">
<f:then> 
</f:then>
<f:else>
	<f:if condition="{0:ereignis.catergory.0.uid} != {0:8}">

		<f:cObject typoscriptObjectPath="lib.AnzahlJahre" data='(2016-{f:format.date(date: ereignis.zeit, format: "Y")})'/>
	</f:if>
	<f:else>
	</f:else>
</f:else>
</f:if>

wenn es nicht 9 ist:
wenn es ungleich 8 ist
DANN mache es ...

Falls es jemanden interessiert :-D
Tevsa

jenses ·

Schau dir mal den vhs:if viewhelper an, da kannst du conditions kombinieren und kommst dann auf so etwas:

<v:if stack="{0: 0:ereignis.catergory.0.uid, 1: '!=', 2: 0:9, 3: 'AND', 4: 0:ereignis.catergory.0.uid, 5: '!=', 6: 0:8}">
    <f:then><f:cObject typoscriptObjectPath="lib.AnzahlJahre" data='(2016-{f:format.date(date: ereignis.zeit, format: "Y")})'/></f:then>
    <f:else>IF ELSE</f:else>
</v:if>

https://fluidtypo3.org/viewhelpers/vhs/master/IfViewHelper.html
https://github.com/FluidTYPO3/vhs/issues/493