繁体   English   中英

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

[英]TYPO3: How can I access property of objects in a partial or section?

我在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?

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

需要注意的是COA意味着Content Object Array ,但整体COA是返回作为一个字符串一个单独的对象。

备选方案:使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM