>我已经用不同的templateLayouts
配置了EXT:news,如 https://docs.typo3.org/typo3cms/extensions/news/AdministratorManual/Templates/TemplateSelector/Index.html 所示
一切正常。
现在我想为每个模板布局使用不同的 TypoScript。我有两种不同的列表类型:列表类型 98 和列表类型 99。您可以在柔性表单中选择它们,流体模板会正确切换。
但是,列表类型 98 和列表类型 99 的排版怎么可能有一个单独的排版呢?
例如,列表类型 98:每页 5 条新闻,列表类型 99:每页 10 条新闻。
这可以通过一种解决方法来实现。
第一,创建拼写脚本:
plugin.tx_news.settings {
default {
setting1 = abc
list.image.width = 100
detail.image.width = 123
}
type1 {
setting1 = abcdef
list.image.width = 200
}
}
2、采用模板
而不是默认的部分
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
您现在可以执行此操作
# use a f:case if more than 1 templateLayout used
<f:if condition="{settings.templateLayout}">
<f:then>
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings.type1,iterator:iterator}" />
<f:then>
<f:else>
<f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings.default,iterator:iterator}" />
</f:else>
</f:if>
现在,这应该更改此部分中此部分中所有位置的设置。
我目前看到的缺点:
- 您需要采用每个模板
- 我想像
plugin.tx_news.settings.default < plugin.tx_news.settings
这样的东西也提供所有默认设置是有意义的。