Reputation: 1607
I'm a bit new to fluid and I want to make a the following php statement in Fluid.
if ($var == 'something') {
// do something
} elseif ($other-var == 'something else') {
// do something else
} else {
// do then the other thin
}
How can I make this in Fluid? I don't see the elseif statement in the documentation.
Upvotes: 8
Views: 21538
Reputation: 1
Is there an inline notation für 'else if'? This one is not working:
{f:if(condition: '{value} == 1', then: 'Value is 1', else if: '{value} == 2', then:'Value is 2')}
Upvotes: 0
Reputation: 21
There's a possibility for AND and OR in Typo3 7 LTS:
http://typo3blogger.de/fluid-ifviewhelper-conditions-verknupfen/
AND:
<f:if condition="{0: value1, 1: value2} == {0: myValue1, 2: myValue2}">
<!-- your code-->
</f:if>
OR (in the example for checking that at least one variable is not null):
<f:if condition="{0: value1, 1: value2} != {0: 0, 2: 0}">
<!-- your code-->
</f:if>
Hope that helps someone.
Upvotes: 0
Reputation: 7016
Since version 8 TYPO3 uses the standalone version of fluid, that was heavily developed and got tons of new features like elseif
:
<f:if condition="{var} == 'something'">
<f:then>do something</f:then>
<f:else if="{other-var} == 'something else'">do something else</f:else>
<f:else>do the other thing</f:else>
</f:if>
In addition there is support for syntax like this:
<f:if condition="{something} || {someOtherThing}">
Something or someOtherThing
</f:if>
With Plain Fluid you can nest two if ViewHelper:
<f:if condition="{var} == 'something'">
<f:then>
// do something
</f:then>
<f:else>
<f:if condition="{other-var} == 'something else'">
<f:then>
// do something else
</f:then>
<f:else>
// do then the other thing
</f:else>
</f:if>
</f:else>
</f:if>
Or you could implement your own ViewHelper or use a ViewHelper Library like VHS that have a ViewHelper that does this more elegant.
Upvotes: 26