TYPO3:如何访问部分或部分中的对象的属性?
问题描述:
我曾经在的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的内容?
答
这是不可能的。 TypoScript
此刻只返回文本字符串,而不是数组。因此,变量myObject
包含COA
的整个级联字符串,因此yome Text42
。
注意COA
意味着Content Object Array
,但整个COA
是一个被返回一个串单个对象。
答
替代方法:使用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.
我明白了。所以我需要用自己的Controller编写一个View Helper,对吧? – Chakaiko 2012-07-30 20:36:11
或者您需要将数据拆分为多个变量。 – pgampe 2012-08-02 21:54:05