【发布时间】:2013-06-19 08:15:26
【问题描述】:
我在 Typo3 Fluid 模板中有一个对象,想访问其上的属性,但该属性的名称在变量 someProperty 中:
<f:if condition="searchObject.{someProperty}">
Found!
</f:if>
因为这不起作用:是否有内置方法可以通过变量访问属性?
【问题讨论】:
我在 Typo3 Fluid 模板中有一个对象,想访问其上的属性,但该属性的名称在变量 someProperty 中:
<f:if condition="searchObject.{someProperty}">
Found!
</f:if>
因为这不起作用:是否有内置方法可以通过变量访问属性?
【问题讨论】:
您可以给fedex Fluid viewhelper collection 及其v:var.get 视图助手一个机会。
或查看此处的其他视图助手。如果您没有找到合适的,您可以根据此处的一些示例为此功能编写自己的。
更新:
由于这是 TYPO3 6.2 的一个老问题,是时候将其更新为当前标准了。 (另请参阅 Claus Due 的回答:
对于当前的 LTS:TYPO3 9.5,可以使用 simple:
{searchObject.{someProperty}}
【讨论】:
在 Fluid 独立版和 TYPO3v8 及更高版本中:
{array.{variableContainingKey}}.
【讨论】:
点符号实际上是访问属性的正确方法。你说的动态是什么意思?可以为空吗?您是否尝试过以下方法?
<f:if condition="<f:count>{searchObject.someProperty}</f:count>">
Found!
</f:if>
或者只是:
<f:if condition="{searchObject.someProperty}">
Found!
</f:if>
【讨论】: