php - symfony3创建表单后怎么给表单添加class

查看:107
本文介绍了php - symfony3创建表单后怎么给表单添加class的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

symfony自带的创建表单功能,创建表单后,在模板直接这样就可以显示:

{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}

请问能不能再创建表单的时候,为要创建的表单元素都添加一个class,这样给前端,前端更好写样式,以下是创建表单代码:

$task = new Task();
$task->setTask('测试表单');
$task->setDueDate(new \DateTime('tomorrow'));

$form = $this->createFormBuilder($task)->add('task', TextType::class)
    ->add('dueDate', DateType::class)
    ->add('save', SubmitType::class, array('label' => 'Create task'))
    ->getForm();

解决方案

Symfony的form在Twig模板里可以每个表单组件单独渲染,同时设置各自的class(或者其他)属性,如下:

{{ form_start(form) }}
{{ form_widget(form.field1, { 'attr': { 'class': 'class1' } }) }}
{{ form_widget(form.field2, { 'attr': { 'class': 'class2' } }) }}
{{ form_widget(form.field3, { 'attr': { 'class': 'class3' } }) }}
{{ form_widget(form.field4, { 'attr': { 'class': 'class4' } }) }}
{{ form_end(form) }}

这篇关于php - symfony3创建表单后怎么给表单添加class的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆