[英]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.