我刚刚开始了一个新的Symfony2项目,在那里我使用generate:doctrine:crud
快速扩展了一些视图,表单等。
生成的表单代码如下:{{ form(form) }}
,但包括一个通用的创建或删除按钮。我想知道我如何添加一个类到这些通用按钮或修改他们以任何方式,因为它只是包含在{{ form(form) }}
?
作为参考,我使用Twitter Bootstrap快速应用一些样式,所以我不想根据提交按钮更改css。
谢谢!
您可以在表单构建器类中指定CSS类,以避免用html填充您的Twig模板,即使是单独呈现表单。
当你调用{{ form(form) }}
时,你正在使用一个帮助器来简化你的代码,这样你就不必为你的每个字段调用form_widget
,但是这样做你不能控制模板中的确切显示。要做到这一点,您必须指定将应用于该字段的类。
在WhateverType.php
文件中,在Forms
文件夹中,有表单构建器。这里应该有如下内容:
$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