TYPO3: EXT: новости, разные шаблоны, макеты и соответствующий TypoScript

Я настроил EXT: news с другим templateLayouts, как показано в https://docs.typo3.org/typo3cms/extensions/news/AdministratorManual/Templates/TemplateSelector/Index.html

Все нормально работает.

Теперь я хочу использовать разные TypoScript для каждого шаблона Layout. У меня есть два разных типа списков: тип списка 98 и тип списка 99. Вы можете выбрать их в гибкой форме, и переключатели Fluid-templates верны.

Но как возможно иметь отдельные опечатки для типа списка 98 и одну для типа списка 99?

например Тип списка 98: 5 новостей на страницу, тип списка 99: 10 новостей на страницу.


person Mario Wilhelm    schedule 23.03.2018    source источник
comment
Я думаю, что добавление постраничной опции в FlexForm - это не то, что вы хотите?   -  person Thomas Löffler    schedule 23.03.2018


Ответы (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 было бы также иметь доступными все настройки по умолчанию.
person Georg Ringer    schedule 23.03.2018