如何在流体模板中使用typoscript对象就像条件一样

时间:2015-01-30 16:25:35

标签: typo3 typoscript fluid typo3-6.2.x

我有一个typoscript TEXT对象:

lib.myid = TEXT
lib.myid.value = 1413

并希望在流畅的模板中使用它(对于tx_news):

<f:for each="{newsItem.categories}" as="category">
    <f:if condition="{category.uid} == {lib.myid}">
        Category ID is the same as myid
    </f:if>
</f:for>

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以使用ViewHelper f:cObject。它看起来像这样:

<f:for each="{newsItem.categories}" as="category">
    <f:if condition="{category.uid} == {f:cObject(typoscriptObjectPath: 'lib.myid')}">
        Category ID is the same as myid
    </f:if>
</f:for>

或者,您可以通过设置

将值设置为新闻插件的设置
plugin.tx_news {
    settings {
        valuefromlibrary < lib.myid
    }
}

之后,您可以使用模板中的{settings.valuefromlibrary}来访问该值。但请注意,设置不会自动传递给部分,因此在部分中可能无法定义值。通过将settings - 变量传递给partials,可以在EXT:news的默认模板中规避此限制。