2013-06-19 151 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}}