【发布时间】:2017-10-09 08:51:58
【问题描述】:
我想检查设置中是否存在配置数组,如果存在,将其作为参数传递给部分。如果不存在,则将默认配置传递给该部分。
我的问题是,我被困在 if 条件下,需要执行检查(then-else 简化如下):
{f:if(condition: settings.media.responsive{f:count(subject: records)}, then: 'true', else: 'false')}
这样的代码不会被 Fluid 解析,只是在页面上按原样输出。 但是没有动态部分它可以完美地工作:
{f:if(condition: settings.media.responsive1, then: 'true', else: 'false')}
输出true。
我已经尝试了所有可能的组合:在整个条件周围使用单引号和/或大括号,以及在 f:count(subject) 内部使用相同的组合,但没有找到使其工作的方法。
另外从 VHS 扩展中尝试了v:variable.get,但也没有成功:
{f:if(condition: {v:variable.get(name: 'settings.media.responsive{f:count(subject: records)}')}, then: 'true', else: 'false')}
上面的代码总是产生true。
重要注意:settings.media.responsive[number] 包含设置数组,因此不能通过在condition 中用单引号括起来将其转换为字符串。
【问题讨论】: