我有一个编辑表单,该表单是通过symfony2表单类型制成的。我检查了文档,但找不到将CSS添加到表单的任何选项。表单正确显示了数据,一切都很好,我想做的就是向每个字段添加样式。

我的编辑类型是

 public function buildForm(FormBuilder $builder, array $options)
{
    $builder
    ->add('id', 'hidden')
    ->add('patent_name', 'text', array('label' => 'Patent Name'))
    ->add('description', 'textarea', array('label' => 'Description', 'required' => false))
    ->add('appln_auth','text', array('label' => 'Application Authorization'))
    ;
}

任何人都有想法我可以添加CSS吗?

谢谢

最佳答案

这是构建表单时可以采用的方法,

 $builder->add('field_name', 'text', array('label' => 'Field Label', 'attr' => array('class' => 'fieldClass')));

您也可以在渲染表单字段时进行操作,看看Twig template form function reference
{{ form_label(form.field, 'label', { 'attr': {'class': 'foo'} }) }}
{{ form_widget(form.field, { 'attr': {'class': 'bar'} }) }}

然后,您可以在 bundle 包的公共(public)资产中添加一个CSS文件,并使用以下命令在模板中调用该文件:
{% block stylesheets %}
    {% parent() %} {# if you want to keep base template's stylesheets #}
    <link href="{{ asset('bundle/myBundle/css/stylesheet.css') }}" type="text/css" rel="stylesheet" />
{% endblock %}

然后,您可以通过Web /目录访问公共(public)资产。
最好的方法是创建针对 bundle 包公共(public)资产的符号链接(symbolic link),然后执行
assets:install web/ --symlink

要彻底自定义特定表单字段呈现块(Twig)时,另一种有用的方法是定义一个新的form theme,这里是文档> Form theming in Twig

08-25 09:59
查看更多