我在Typo3 Fluid模板中有一个对象,想要访问它上面的属性,但属性的名称在变量someProperty
中:
<f:if condition="searchObject.{someProperty}">
Found!
</f:if>
因为这不起作用:是否有内置的方法来按变量访问属性?
你可以给fedex Fluid viewhelper collection及其v:var.get
viewhelper一个机会。
或者在这里查看其他观看者。如果找不到合适的,可以根据此处的一些示例编写自己的功能。
更新:
由于这是TYPO3 6.2的一个老问题,现在是时候将其更新为现行标准。 (另请参阅Claus Due的答案:
对于目前的LTS:TYPO3 9.5,你可以使用简单的:
{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>