Можно ли повторно использовать определения полей flexform, используя EXT:flux?
Я новичок во вселенной fedext. К настоящему времени я создал набор элементов контента, и они отлично работают.
Однако есть один недостаток: один набор элементов контента имеет несколько общих полей, и эти поля довольно сложны. Обычно, я бы переместил их определение в частичное, но это невозможно в потоковых формах. Руководство для начинающих
Шаблоны Flux могут использовать макеты и
Частичные - но форма потока не может
разделить на Частичные шаблоны.
Есть ли способ избежать переопределения этих полей снова и снова? Среди прочего, я пытался использовать <vhs:render.inline>
viewhelper вместе с пользовательским viewhelper, возвращающим определение полей, но я не могу заставить это работать.
1 ответ
Flux 7.0 предоставит возможность размещать поля и листы в шаблонах Partial - если вы в данный момент находитесь в проекте разработки, я рекомендую попробовать это из development
филиалы на Github:
https://github.com/FluidTYPO3/flux/tree/development
Flux 7.0 также предоставит возможность создавать классы PHP, которые, например, создают готовые листы с кучей полей - такой класс будет идеальным для повторного использования, просто требуя один класс PHP и один Fluid ViewHelper. Такой подход был бы более эффективен при визуализации ваших форм, но, конечно, гораздо более технически сложен, чем шаблон Partial.
РЕДАКТИРОВАТЬ: хотя еще не задокументировано, создание пользовательских листов включает в себя два простых шага: 1) создать подкласс FluidTYPO3\Flux\Form\Container\Sheet
и подкласс FluidTYPO3\Flux\ViewHelpers\Form\SheetViewHelper
- затем включите ваше пространство имен в шаблон, используйте ваш собственный ViewHelper вместо flux:form.sheet
(и добавьте дополнительные поля, если они вам нужны), а затем внутри Sheet
объект, используйте $this->createField()
метод изнутри инициализации объекта, для автоматического добавления любого количества полей с предопределенными именами, метками и т. д.