Можно ли повторно использовать определения полей 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() метод изнутри инициализации объекта, для автоматического добавления любого количества полей с предопределенными именами, метками и т. д.

Другие вопросы по тегам