TYPO3:EXT:news 不同的模板布局和相应的 TypoScript

TYPO3: EXT:news different templateLayouts and corresponding TypoScript

我已将 EXT:news 配置为不同的 templateLayouts,如 https://docs.typo3.org/typo3cms/extensions/news/AdministratorManual/Templates/TemplateSelector/Index.html

所示

一切正常。

现在我想为每个 templateLayout 使用不同的 TypoScript。 我有两种不同的列表类型:列表类型 98 和列表类型 99。您可以在 flexform 中选择它们,并且流体模板切换正确。

但是怎么可能有单独的 list-type 98 和 list-type 99 的错别字呢?

例如列表类型 98:每页 5 条新闻,列表类型 99:每页 10 条新闻。

这可以通过一种解决方法实现。

1、创建TypoScript:

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 这样的东西也可以使用所有默认设置。