2016-01-11 49 views
1

我延伸FosUserBundle这样寄存器形式:Symfony的表格主题延伸直列

{% 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_horizo​​ntal_layout.html.twig。

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

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

非常感谢!

回答

2

你需要告诉Symfony的,包括您的当前模板作为一种形式的主题:

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

否则,它不知道在形式主题块的当前模板的样子。

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

+0

你是传奇! –

+0

请[不要再使用'_self'](http://symfony.com/blog/security-release-twig-1-20-0)。 –

+0

目前,除了使用'_self'将当前模板用作表单主题外,没有别的办法。 – xabbuh