TYPO3 带有 && 条件的流体 elseif
TYPO3 Fluid elseif with && condition
我正在尝试让这段代码正常工作:
<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-tag 之后在parent partial 中关闭。唯一不起作用的是第一个 else if 中的组合条件。尽管 item.children 和 item.active 为真,但只呈现 item.active 组成的条件。我在这里做错了什么?
谢谢,乔纳森
Active MenuItems 的 current=1 和 active=1。在第一个 If 条件中,检查当前,如果 =1,则执行以下 'then'。在此之后,none 的其他人被检查,因此,它没有工作。因为我不需要 {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>
我正在尝试让这段代码正常工作:
<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-tag 之后在parent partial 中关闭。唯一不起作用的是第一个 else if 中的组合条件。尽管 item.children 和 item.active 为真,但只呈现 item.active 组成的条件。我在这里做错了什么?
谢谢,乔纳森
Active MenuItems 的 current=1 和 active=1。在第一个 If 条件中,检查当前,如果 =1,则执行以下 'then'。在此之后,none 的其他人被检查,因此,它没有工作。因为我不需要 {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>