Использование gridelements с обработкой данных отлично работает для всех элементов содержимого по умолчанию. Но если я включу одно из своих собственных расширений, аргументы для контроллера потеряны. Таким образом, элемент содержимого отображается, но с действием по умолчанию (список) и шаблонами по умолчанию.
Для воспроизведения я использовал известное новостное расширение:
Статические включения (шаблон):
- Новости
- gridelements
- my_site_package
Определение отображения сетки (часть my_site_package):
mySitePackage.gridelements.defaultGridSetup < lib.gridelements.defaultGridSetup
mySitePackage.gridelements.defaultGridSetup {
templateName.field = tx_gridelements_backend_layout
templateName.ifEmpty = default
layoutRootPaths {
10 = EXT:gridelements/Resources/Private/Layouts/
20 = EXT:my_site_package/Resources/Private/Layouts/Gridelements/
}
partialRootPaths {
10 = EXT:gridelements/Resources/Private/Partials/
20 = EXT:my_site_package/Resources/Private/Partials/Gridelements/
}
templateRootPaths {
10 = EXT:gridelements/Resources/Private/Templates/
20 = EXT:my_site_package/Resources/Private/Templates/Gridelements/
}
dataProcessing {
10 = GridElementsTeam\Gridelements\DataProcessing\GridChildrenProcessor
10 {
default {
as = children
}
}
}
}
Гибкий рендеринг (часть my_site_package):
<f:for each="{children}" as="row" key="rowNumber">
<f:for each="{row}" as="column" key="columnNumber">
<f:for each="{column}" as="child">
<f:cObject typoscriptObjectPath="tt_content.{child.data.CType}" data="{child.data}" table="tt_content" />
</f:for>
</f:for>
</f:for>
Интеграция плагинов (серверная часть):
- Действие контроллера: показать
Результат во внешнем интерфейсе, если НЕ помещен в элемент управления:
- Плагин новостей отображается правильно и вызывает showAction
Результат во внешнем интерфейсе, если поместить его в gridelement:
- Плагин новостей отображается, но возвращается к действию списка по умолчанию. Также игнорируются настройки шаблона из my_site_package. Используются шаблоны новостей по умолчанию.
Я что-то здесь упускаю или это ошибка?