我有一个类似的问题:掩码内容元素的集合;同一页面上同一元素的两种不同渲染:
渲染随机预告片:
lib.qa_random_teaser_community < styles.content.get
lib.qa_random_teaser_community.select{
where = colPos=12
pidInList = {$pidCommunityQAStorage}
max = 1
orderBy = rand()
}
详细列表的渲染:
lib.qa_list_community < styles.content.get
lib.qa_list_community{
renderObj < tt_content
renderObj.default.mask_qa_community.settings.renderListItems = 1
select {
where = colPos=12
pidInList = {$pidCommunityQAStorage}
}
}
我将 tt_content 复制到 renderObj,然后我可以修改它,为这个内容渲染添加一个专门的 mask 元素设置:
renderObj.default.mask_qa_community.settings.renderListItems = 1
在遮罩模板中,我只需要检查设置并触发适当的渲染:
<f:if condition="{settings.renderListItems}">
<f:then>
<f:render section="qa-detail" arguments="{data:data}"/>
</f:then>
<f:else>
<f:render section="qa-teaser" arguments="{data:data}"/>
</f:else>
</f:if>
另一种方法是选择一个专用的流体模板,而不是仅仅提供一个设置:
renderObj.default.mask_qa_community.settings.file = .......
在带有 TYPO3 8 的掩码 3.0.1 中...
renderObj.mask_qa_community.settings.file = .......
希望它对其他人有用。