如何在Symfony中自定义bootstrap水平表单主题/模板?

Mr *_*r B 1 php forms symfony twig twitter-bootstrap

我正在使用Symfony 3构建的应用程序.我正在使用框架附带的' bootstrap_3_horizo​​ntal_layout.html.twig '表单主题.

我已成功导入它.

我试图更改默认列大小; http://pastebin.com/7QvEQyVi但似乎没有任何影响.

标签和输入列的默认大小分别为2和10.我该如何覆盖这些值?

感谢任何指导

jku*_*vic 5

您可以在自己的模板中覆盖它

app/config/config.yml

# Twig Configuration
twig:
    form_themes:
        - "form/fields.html.twig"
Run Code Online (Sandbox Code Playgroud)

app/Resources/views/form/fields.html.twig

{% use 'bootstrap_3_horizontal_layout.html.twig' %}

{% block form_label_class -%}
col-sm-3
{%- endblock form_label_class %}

{% block form_group_class -%}
col-sm-9
{%- endblock form_group_class %}
Run Code Online (Sandbox Code Playgroud)


Mr *_*r B 5

根据@jkuchravic 的回答,我通过将修改后的块放在一个单独的文件中来使其工作;

app/Resources/views/form/fields.html.twig

{% use 'bootstrap_3_horizontal_layout.html.twig' %}

{% block form_label_class -%}
col-sm-3
{%- endblock form_label_class %}

{% block form_group_class -%}
col-sm-9
{%- endblock form_group_class %}
Run Code Online (Sandbox Code Playgroud)

我不想在应用程序范围内进行更改,因此只需使用以下行将修改后的模板应用于该特定表单:

{% form_theme form with ['bootstrap_3_horizontal_layout.html.twig','form/fields.html.twig'] %}
Run Code Online (Sandbox Code Playgroud)