【问题标题】:TYPO3 - Complex fluid condition f:if not working in 8.7TYPO3 - 复杂流体条件 f:如果不在 8.7 中工作
【发布时间】:2018-07-05 14:23:49
【问题描述】:

我在 8.7 中尝试了一个复杂的 f:if 条件,如下所述:https://docs.typo3.org/typo3cms/ExtbaseGuide/Fluid/ViewHelper/If.html

...但是我所有的尝试都失败了(不起作用):

<h3 class="record-title" id="title"><f:if condition="{record.type}!='medium' || {record.type}!='large'">{record.firstname} - </f:if>{record.name}</h3>
<h3 class="record-title" id="title"><f:if condition="{0:record.type,1:record.type}!={0:medium,1:large}">{record.firstname} - </f:if>{record.name}</h3>
<h3 class="record-title" id="title"><f:if condition="{0:record.type,1:record.type}!={0:'medium',1:'large'}">{record.firstname} - </f:if>{record.name}</h3>

...相反,我需要这样做(工作):

<h3 class="record-title" id="title">
    <f:if condition="{record.type}!='medium'">
        <f:if condition="{record.type}!='large'">
            {record.firstname} - 
        </f:if>
    </f:if>
    {record.name}
</h3>

为什么它没有像描述的那样工作?我正在使用 8.7.16 ...

【问题讨论】:

    标签: typo3 fluid typo3-8.x typo3-8.7.x


    【解决方案1】:

    您的第一个条件正常工作,但它与适用于您的示例不相等,例如嵌套&lt;f:if&gt; 的工作方式类似于&amp;&amp;,而您的第一个条件使用||

    在第二种情况下,缺少引号。

    Third 将始终返回 true,因为您将 ['X', 'X']['medium', 'large'] 进行比较。如果X == 'medium' 那么X != 'large' - 没有其他办法。

    要使其正常工作,您只需在第一个条件下将 || 更改为 &amp;&amp;

    <h3 class="record-title" id="title">
        <f:if condition="{record.type}!='medium' && {record.type}!='large'">{record.firstname} - </f:if>
        {record.name}
    </h3>
    

    【讨论】:

      猜你喜欢
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多