В моем проекте Symfony2 я заметил, что есть только два варианта макета для рендеринга форм:
form_table_layout.html.twig
и form_div_layout.html.twig
Они оба находятся в symfony\src\Symfony\Bridge\Twig\Resources\views\Form
, и яЯ хотел бы добавить свой собственный где-нибудь в моем каталоге app\Resources
.
Единственная проблема, с которой я сталкиваюсь, это когда я добавляю свой новый файл макета (form_list_layout.html.twig
) в app\Resources\views\Form
, Symfony нене ищу его, а просто ищет в расположении по умолчанию (в каталоге Twig).
Я настроил config.yml
, чтобы он включил новый макет, но, возможно, я делаю что-то не так:
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
form:
resources: ['form_list_layout.html.twig']
РЕДАКТИРОВАТЬ: Хорошо, я теперь Symfony2 ищет в нужном месте, но это, похоже, не влияет на рендеринг формы (я скопировал содержимое таблицыфайл макета в мой новый файл макета списка, чтобы проверить теорию, и моя форма все еще рендерится с тегами <div>
. Это может быть вызвано использованием CraueFormFlowBundle
, который я использую, поэтому я проверю это).
Работающий config.yml
:
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
form:
resources:
- ":Form:form_list_layout.html.twig"
РЕДАКТИРОВАТЬ 2: Не похоже на этоИмеет ли что-нибудь отношение к CraueFormFlowBundle
, есть ли в моей конфигурации что-то, что может игнорировать глобальный макет формы?
РЕДАКТИРОВАТЬ: На самом деле, это работает.Как только я изменил свой файл макета, включив в него элементы списка вместо содержимого макета таблицы, все стало нормально.