Symfony Form Theme расширяют встроенный

Я расширяю форму регистрации FosUserBundle следующим образом:

{% extends "@App/base.html.twig" %}

{% form_theme form 'bootstrap_3_horizontal_layout.html.twig' %}

{% block form_label_class -%}
   col-md-8
{%- endblock form_label_class %}

К сожалению, блок form_label_class из bootstrap_3_horizont_layout.html.twig там не расширяется.

Теперь я хочу, чтобы в моей форме метка использовалась как col-md-8 (вместо col-sm-2 по умолчанию), но в другой форме, возможно, захочется использовать col-md-6 и так далее.

Существует ли простой способ сделать это встроенным в каждый из вместо create extends для каждого col-md-XX, что на самом деле совсем не очень удобно.

Большое спасибо!

1 ответ

Вы должны указать Symfony включить текущий шаблон в качестве темы формы:

{% form_theme form with [
    'bootstrap_3_horizontal_layout.html.twig',
    _self,
] %}

В противном случае, он не знает, искать в текущем шаблоне блоки темы формы.

Вы также можете использовать это для включения других шаблонов с блоками формы. Это полезно, если у вас есть несколько шаблонов, которые повторно используют одни и те же блоки формы; Вы можете преобразовать их все в один шаблон и ссылаться на него везде, где это необходимо.

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