繁体   English   中英

Symfony2 / Twig-将类添加到表单元素

[英]Symfony2/Twig - Add classes to form elements

我刚刚启动了一个新的Symfony2项目,在其中使用了generate:doctrine:crud快速扩展出一些视图,表单等。

生成的表单代码仅为: {{ form(form) }}但包含通用的创建或删除按钮。 我想知道如何将类添加到这些通用按钮或以任何方式修改它们,因为它们仅包含在{{ form(form) }}

作为参考,我正在使用Twitter Bootstrap快速应用某些样式,因此我不想基于“提交”按钮更改CSS。

谢谢!

您可以在表单构建器类中指定CSS类,以免用HTML填充Twig模板,即使是单独呈现表单也是如此。

当您调用{{ form(form) }}您正在使用一个助手来简化您的代码,因此您不必为每个字段都调用form_widget ,但是这样做无法控制模板中的确切显示。 为此,您必须指定将应用于该字段的类。

Forms文件夹内的WhateverType.php文件中,您具有表单生成器。 那里您应该有类似的东西:

   $builder
        ->add('text')
        ->add('whatever')

在那里,您必须添加类:

   $builder
        ->add('text', 'attr'=> array('class'=>'btn')
        ->add('whatever')

然后,当您的表单显示在模板中时,它将应用您在构建器中指定的类。

在遵循dmnptr的答案 (将表单分成多个部分)之后,您可以通过以下方式将参数数组传递给每个form / form_row / form_label等:

{{ form(form, { 'attr': { 'class': 'your-css-class-1 your-css-class-2' } } ) }}

attr参数设置项目的属性,因此以上内容将产生:

<form class="your-css-class-1 your-css-class-2" ...

您将不得不手工渲染每个归档文件,并向TWIG元素添加必要的类。 在官方文档中了解如何操作-http: //symfony.com/doc/current/book/forms.html#rendering-each-field-by-hand

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM