带有&&条件的TYPO3流体

时间:2019-03-21 22:48:46

标签: 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="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组成的条件。我在这里做什么错了?

谢谢乔纳森

1 个答案:

答案 0 :(得分:1)

活动的MenuItems具有current = 1和active = 1。在第一个If条件中,检查current,如果= 1,则执行以下“ then”。此后,未检查其他任何对象,因此,它不起作用。由于我不需要Invoice,因此此代码对我有用:

{item.spacer} || {item.current}