Symfony表单主题内嵌

时间:2016-01-11 19:16:53

标签: symfony twig

我像这样扩展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 %}

不幸的是,来自bootstrap_3_horizo​​ntal_layout.html.twig的块form_label_class没有在那里扩展。

我现在希望在我的表单中使用label作为col-md-8(而不是默认的col-sm-2),但是在另一种形式中可能想要使用col-md-6等等。

是否有一种简单的方法可以在每个内联中进行内联,而不是为每个col-md-XX创建扩展,这实际上并不是非常方便。

非常感谢!

1 个答案:

答案 0 :(得分:2)

您需要告诉Symfony将您当前的模板包含为表单主题:

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

否则,它不知道在当前模板中查找表单主题块。

您也可以使用它来包含带有表单块的其他模板。如果您有多个模板可以重复使用相同的表单块,这将非常有用;您可以将它们全部重构为一个模板,并在需要的任何地方引用它。