【问题标题】:Symfony2 remove default Form fields style classSymfony2 移除默认表单字段样式类
【发布时间】:2015-12-04 11:04:35
【问题描述】:

渲染表单字段时它添加了一个混淆了我的样式的类。我想要做的就是在渲染字段时删除该类,但我该怎么做呢?我知道你可以为字段设置类,但我需要删除一个默认类。

我是这样渲染的:

{{ form_widget(form.plainPassword }}

我现在唯一能做到的方法是转到供应商bootstrap_3_horizontal_layout 文件并删除该行:

{% block form_group_class -%}
    col-sm-10 ///remove this
{%- endblock form_group_class %}

但这不是解决方案,因为您无法手动编辑供应商文件。我有什么选择?如何实现我所需要的?

【问题讨论】:

    标签: css forms symfony


    【解决方案1】:

    您应该检查the documentation about form theme "Application-wide Customizations"

    您可以创建一个扩展 bootstrap_3_horizontal_layout 并覆盖 form_group_class 块的表单主题模板,如下所示:

    {% use 'bootstrap_3_horizontal_layout.html.twig' %}
    
    {% block form_group_class %}{% endblock form_group_class %}
    

    然后将此模板设置为您config.yml 中的全局表单主题(假设它位于form/my_form_theme.html.twig 中的MyAppBundle):

    twig:
        form_themes:
            - 'MyAppBundle:form:my_form_theme.html.twig'
    

    【讨论】:

      【解决方案2】:

      您可以为表单类型定义 own theme 或手动添加 html 并使用 raw form variables

      【讨论】: