css - 将类属性添加到 symfony 表单生成器行 div

标签 css forms symfony attributes abstract

这是我的抽象类型代码:

   $builder->add('email', 'email', array('label' => 'form.email', 'translation_domain' => 'FOSUserBundle'))

上面生成的代码:

    <form class="fos_user_registration_register form-horizontal" role="form" method="POST" action="/app_dev.php/register/">

<div id="fos_user_registration_form">
 <div>
   <label class="required" for="fos_user_registration_form_email">Email: </label>
   <input id="fos_user_registration_form_email" type="email" required="required" name="fos_user_registration_form[email]">
 </div>
</div>

</form>
</div>

我的问题是如何将类属性添加到行 div 成为:

<div class="form-group">
    <label class="required" for="fos_user_registration_form_email">Email: </label>
    <input id="fos_user_registration_form_email" type="email" required="required" name="fos_user_registration_form[email]">
</div>

最佳答案

Symfony2/Twig 有一个很棒的表单渲染引擎;完全覆盖它是一种浪费。作为一个更优雅的选择,我们可以利用内置的表单主题。根据文档:

Symfony comes with four built-in form themes that define each and every fragment needed to render every part of a form

我们可以覆盖默认主题并创建自己的主题。这允许我们覆盖 form_row block ,并将我们自己可爱的属性添加到周围的 div。只需将其放入一个文件中,比如:views/forms/fields.twig

{% block form_row %}

    <div class="form-group">
        {{ form_label(form) }}
        {{ form_errors(form) }}
        {{ form_widget(form) }}
    </div>

{% endblock %}

我们不需要担心其他声明,因为 Symfony 只会重载更改的内容。

我们现在可以从页面模板中引用它。将 form 替换为传递给模板的表单变量的名称:

{% form_theme form 'forms/fields.twig' %}

当然,您可以自由添加声明来获取表单属性,而不是对类名进行硬编码。

(来源:http://symfony.com/doc/2.7/cookbook/form/form_customization.html)

关于css - 将类属性添加到 symfony 表单生成器行 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25719369/

相关文章:

javascript - 无法在新窗口中打开 JavaScript 搜索引擎结果

symfony - Symfony自定义错误404和500

html - 在 Bootstrap 中,如何将我的按钮与上面的元素左对齐?

html - CSS 显示 :flex equal parts

css - 我怎样才能使一个动态大小受限的父 div 包含两个可变大小的子 div,每个子 div 都可以独立地自动滚动?

forms - 在 SonataAdmin 中使用 FormEvents 自定义字段的正确方法

javascript - 如何使我的叠加图像居中?

forms - 使用 PayPal 的 Wordpress 用户角色和报名表

php - 带有端口号的 vagrant 主机名不执行 php 文件

php - 为什么 Symfony 分析器在使用 Memcached 分析器存储时抛出 404?