我正在使用Bootstrap3和Symfony2.5
我需要在表单元素中添加一个html类,以便为input / select / textarea元素应用bootstrap设计。
我可以简单地将它添加到FormType类中,如下所示:
'attr'=> array('class'=>'form-control')
但这意味着我必须为每一个元素做到这一点。
替代方案是覆盖所有默认的twig-templates,但仅仅添加一个类就太过分了。
有没有办法以更方便的方式添加课程?
答案 0 :(得分:0)
如果使用bootstrap,您可以使用symfony提供的bootstrap表单主题。
通过在config.yml
:
twig:
form_themes: [ 'bootstrap_3_layout.html.twig' ]
请参阅:http://symfony.com/blog/new-in-symfony-2-6-bootstrap-form-theme
或者在模板中为页面模板中的单个表单设置它:
{{ form_theme form 'bootstrap_3_layout.html.twig' }}
如果您在这里想弄清楚如何将自己的类(或属性)添加到默认表单主题。另请参阅bootstrap模板。更改html非常简单。
如果symfony提供的默认bootstrap 3布局不符合您的喜好,您可以创建自己的布局并链接到该模板。 看看symfony中提供的bootstrap模板,了解如何做到这一点。
食谱也非常有帮助: http://symfony.com/doc/current/cookbook/form/form_customization.html
小旁注:symfony的bootstrap主题仅在2.6之后可用,而我的问题提到了2.5。如果您仍在运行早期版本的symfony,您有几个选择: