【问题标题】:Symfony2 form widgets classSymfony2 表单小部件类
【发布时间】:2014-09-12 08:43:03
【问题描述】:

我正在使用 Bootstrap3 和 Symfony2.5

我需要向表单元素添加一个 html 类,以便为 input/select/textarea 元素应用引导设计。

我可以像这样简单地将它添加到 FormType 类中:

    'attr'=> array('class'=>'form-control')

但这意味着我必须为每个元素都这样做。

替代方案是覆盖所有默认的 twig-templates,但这对于仅添加一个类来说是多余的。

有没有更方便的添加类的方法?

【问题讨论】:

  • 您应该使用包含您需要的所有功能的捆绑包http://bootstrap.braincrafted.com/
  • 好提示。该捆绑包为您做了很多,其中一些不适合我的应用程序。我怀疑我可以包含捆绑包。我将看看捆绑包如何以引导方式构建表单。要么从中挑选樱桃,要么以类似的方式调整我现有的代码。

标签: forms symfony


【解决方案1】:

如果使用引导程序,您可以使用 symfony 提供的引导程序的表单主题。

通过在您的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' }}

如果您想了解如何将自己的类(或属性)添加到默认表单主题。还可以查看引导模板。改html很简单。

如果 symfony 提供的默认 bootstrap 3 布局不符合您的喜好,您可以创建自己的并链接到该模板。 在 symfony 中查看提供的引导模板,了解如何做到这一点。

食谱也很有帮助: http://symfony.com/doc/current/cookbook/form/form_customization.html

小旁注:symfony 的引导主题仅在 2.6 之后可用,而我的问题提到了 2.5。如果您仍在运行早期版本的 symfony,您有两个选择:

  • 升级 symfony(强烈推荐)
  • 将引导模板复制到您自己的项目中(不过您可能需要更改一些内容)
  • 创建您自己的主题并使用该主题。

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 2020-05-04
    • 1970-01-01
    相关资源
    最近更新 更多