TYPO3:如何访问部分或部分中对象的属性?

时间:2012-07-29 11:49:33

标签: typo3

我有一个在TypoScript中定义的对象

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

我需要部分

中myObject的数据
<f:render partial="myPartial" arguments="{content:myObject}" />

看起来像

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

虽然内容在那里(因为{content}会显示所有属性)我无法访问它,而h2和p将为空...

如何使用myObject的内容填充h2和p?

2 个答案:

答案 0 :(得分:0)

这是不可能的。 TypoScript目前只返回文本字符串,而不是数组。因此,变量myObject包含COA的整个连接字符串,因此yome Text42

请注意,COA表示Content Object Array,但整个COA一个单个对象,以一个字符串形式返回。

答案 1 :(得分:0)

替代方法:使用VHS扩展程序的v:var.typoscript ViewHelper:

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

之后您可以在模板中访问{myObject.1}等。请注意,v:var.set的所谓“链式”用法是可选,但可以使用中间模板变量更轻松地访问变量,而不是使用更昂贵的调用来检索该值完全在多个位置。另一种方式:

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

TER上的VHS扩展:http://typo3.org/extensions/repository/view/vhs