TYPO3流体动态可变部件在内联条件下

时间:2017-05-10 15:34:25

标签: typo3 fluid

我想检查设置中是否存在配置数组,如果存在,则将其作为参数传递给partial。如果它不存在,请将默认配置传递给该部分。

我的问题是,我被困在if条件下,需要执行检查(然后 - 以下简化):

{f:if(condition: settings.media.responsive1, then: 'true', else: 'false')}

这样的代码不会被Fluid解析,只是在页面上按原样输出。 然而,如果没有动态部分,它可以完美地运行:

true

输出f:count(subject)

我尝试了所有可能的组合:在整个条件周围使用单引号和/或大括号,以及在v:variable.get内部使用单引号和/或大括号,但没有找到使其工作的方法。< / p>

Additionaly尝试了来自VHS扩展程序的{f:if(condition: {v:variable.get(name: 'settings.media.responsive{f:count(subject: records)}')}, then: 'true', else: 'false')} ,但也没有成功:

true

上述代码始终会生成settings.media.responsive[number]

重要注意:condition包含一系列设置,因此无法通过{{ json_decode($freelance->regione, true)['value'] }} 中的单引号将其包围为字符串。

1 个答案:

答案 0 :(得分:1)

如果您正在使用Fluid引擎库:

{records -> f:variable(name: 'count')}
{f:if(condition: '{f:count(subject: \'{settings.media.responsive{count}}\')}', then: 'true', else: 'false')}

或者如果你想要VHS:

{f:if(condition: '{v:variable.get(name: \'settings.media.responsive{f:count(subject: records)}\') -> f:count()}', then: 'true', else: 'false')}