2013-06-19 159 views
2

我有一个TYPO3的流体模板对象,并希望在其访问属性,但属性的名称是一个变量someProperty访问动态对象属性

<f:if condition="searchObject.{someProperty}"> 
     Found! 
</f:if> 

因为这不起作用:是否有内置的方法来访问变量的属性?

回答

2

你可以给一个机会fedex Fluid viewhelper collection及其v:var.get视图助手。

或者在这里检查其他viewhelpers。如果你找不到合适的,你可以在这里根据一些例子编写你自己的功能。

+0

那么这里没有内置任何东西? – Martin

+0

我不认为,那有什么。 Fluid在其核心部分有一个基本的工作,但它有很多扩展。像上面那样。 –

0

点符号实际上是访问属性的正确方法。动态是什么意思?可以为null?你尝试过以下吗?

<f:if condition="<f:count>{searchObject.someProperty}</f:count>"> 
    Found! 
</f:if> 

或者,也许只是:

<f:if condition="{searchObject.someProperty}"> 
    Found! 
</f:if> 
+1

我认为这个问题是关于动态属性阅读。所以说,代码需要check,有XYZ属性的对象。所以在这种情况下,{someProperty}是一个变量,可能有不同的值:XYZ,ZYX,YYY等等。这并不那么简单。 –

+0

完全正确!我更新了这个问题;) – Martin

+0

哦,好吧,明白了!你不能用控制器中的属性名来解析变量吗? – Wipster

1

流体独立和TYPO3v8向上:

{array.{variableContainingKey}}