2012-07-29 69 views
0

我曾經在的TypoScriptTYPO3:如何訪問部分或部分中的對象的屬性?

page.10 { 
    variables { 
    myObject = COA 
    myObject{ 
    1 = TEXT 
    1.value = yome Text 
    2 = TEXT 
    2.value = 42 
    } 
    } 
} 

定義的對象,我需要在部分

<f:render partial="myPartial" arguments="{content:myObject}" /> 

,看起來像

<section id="myPartial"> 
<h2>{content.1}</h2> 
<p>{content.2}</p> 
</section> 

的myObject的的數據雖然內容是存在的(因爲{content}將顯示所有屬性)我無法訪問它,並且h2和p將爲空...

我應該如何填充h2和p以及myObject的內容?

回答

0

這是不可能的。 TypoScript此刻只返回文本字符串,而不是數組。因此,變量myObject包含COA的整個級聯字符串,因此yome Text42

注意COA意味着Content Object Array,但整個COA一個被返回一個串單個對象。

+0

我明白了。所以我需要用自己的Controller編寫一個View Helper,對吧? – Chakaiko 2012-07-30 20:36:11

+0

或者您需要將數據拆分爲多個變量。 – pgampe 2012-08-02 21:54:05

0

替代方法:使用VHS擴展的v:var.typoscript視圖助手:

{namespace v=Tx_Vhs_ViewHelpers} 
{v:var.typoscript(path: 'page.10.variables.myObject') -> v:var.set(name: 'myObject')}

後,你可以在你的模板訪問{myObject.1}等。請注意,v:var.set的所謂「鏈接」用法爲可選,,但可以使用中間模板變量而不是更昂貴的調用來訪問變量,以便在多個位置完全檢索值。另一種方法:在TER

{v:var.typoscript(path: 'page.10.variables.myObject.1')} 
{v:var.typoscript(path: 'page.10.variables.myObject.2')} 
etc.

VHS擴展:http://typo3.org/extensions/repository/view/vhs

相關問題