If statement 类型3液体elseif带&&;条件
我正在尝试使此代码正常工作:If statement 类型3液体elseif带&&;条件,if-statement,typo3,fluid,If Statement,Typo3,Fluid,我正在尝试使此代码正常工作: <f:if condition="{item.spacer} || {item.current}"> <f:then> <li class="{f:if(condition:item.current, then:'nav-item active')}{f:if(condition:item.spacer, then:'nav-item spacer')}"> <f:render partial="Na
<f:if condition="{item.spacer} || {item.current}">
<f:then>
<li class="{f:if(condition:item.current, then:'nav-item active')}{f:if(condition:item.spacer, then:'nav-item spacer')}">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:then>
<f:else if="{item.children} && {item.active}">
<li class="nav-item dropdown active">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else if="{item.children}">
<li class="{f:if(condition:item.children, then:'nav-item dropdown')}">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else if="{item.active}">
<li class="{f:if(condition:item.active, then:'nav-item active')}">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else>
<li class="nav-item">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
</f:if>
li标记随后在父部分中关闭。唯一不起作用的是第一个条件中的组合条件。尽管item.children和item.active为true,但只呈现由item.active组成的条件。我做错了什么
谢谢,Jonathan活动菜单项的当前值为1,活动值为1。在第一个If条件中,选中current,如果=1,则执行以下“then”。在这之后,其他的都没有被检查,因此,它不起作用。由于我不需要
{item.spacer}|{item.current}
,因此此代码适用于我:
<f:if condition="{item.children} && {item.active}">
<f:then>
<li class="nav-item dropdown active">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:then>
<f:else if="{item.children}">
<li class="nav-item dropdown">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else if="{item.active}">
<li class="nav-item active">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else if="{item.spacer}">
<li class="nav-item spacer">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
<f:else>
<li class="nav-item">
<f:render partial="Navigation/Elements/Link" arguments="{item: item}"/>
</f:else>
</f:if>
{item.children}
告诉你什么?而且,尽管它没有解决您的问题,但您可以在这里省略许多if语句,例如:
的输出是一个包含页面子页面的数组。我知道有些if语句是不必要的,我在其中还有一些,没有删除它。我在我的环境中测试了它,没有错误。您是否可以改进“{item.children}&&!{item.active}”和“!{item.children}&&{item.active}”的else if条件?这更安全一些,因为实际上在您的案例中,{item.children}&{item.active}和{item.children}都是正确的。所以顺序很重要。也许这就解决了?这对我不起作用。我现在也试着把它放在末尾,但是没有什么区别。当我把{item.children}&{item.active}
放在第一个if条件中时,它就工作了。