typoscript如何通过TEMPLATE cObject将“当前”值转发到子部分?

时间:2016-03-21 23:17:10

标签: templates typo3 typoscript

我正在使用Typo3 CMS 7.6.4。我想通过TEMPLATE cObject转发“当前”值,以便在其子部分中使用该值。

lib.TEMPLATE_RENDER_OBJECT = TEMPLATE
lib.TEMPLATE_RENDER_OBJECT {
  template = TEXT
  template.value = <!-- ###SUBPART### begin -->some content<!-- ###SUBPART### end -->

  current = 1

  subparts {
    SUBPART = TEXT
    SUBPART {
      current = 1
    }
  }
}

不幸的是,TEMPLATE cObject将自己的内容加载到“当前”值中,TypoScriptReference for the TEMPLATE cObject中还注明了这一点:

  

[...]当前值加载了每个子部分的内容[...]

所以上面的 lib.TEMPLATE_RENDER_OBJECT 会创建类似“some content”的内容(而不是像我预期的那样使用初始的“当前”值)。

是否可以禁用TEMPLATE的此行为或恢复初始“当前”值?

1 个答案:

答案 0 :(得分:0)

简短的回答是:无法将初始设置的“当前”值转发到TEMPLATE cObject的子部分。

我是从lines 69-77 and lines 126-131 from the php source code for this type读到的。每个子部分的“当前”值在那里被替换。另一方面,对于每个标记,初始设置的“当前”值不被覆盖。所以这不是必须处理的。但如果我在这里犯了错误,请原谅我,因为这是我第一次看到php源代码。

解决方案可能是扩展TEMPLATE的现有源代码,例如通过引入一个新标志来保持“当前”值。然后,这个扩展的源代码可以由USER cObject使用。