带有&&条件的TYPO3 Fluid elseif

问题描述 投票:0回答:1

我试图让这段代码工作:

<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随后在父部分中关闭。唯一不起作用的是第一个其他的组合条件。 Altough item.children和item.active为true,仅呈现由item.active组成的条件。我在这做错了什么?

谢谢,乔纳森

if-statement typo3 fluid
1个回答
1
投票

活动MenuItems具有current = 1和active = 1。在第一个If条件中,检查当前电流,如果= 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>
© www.soinside.com 2019 - 2024. All rights reserved.