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_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) }}
$form = $this->createForm(new AnswerType(), new Answer(), [
'action' => $this->generateUrl('eb5_qas_reply', ['id' => $id]), 'method' => 'POST', 'attr' => ['class' => 'form-horizontal'] ]); 建立form attr屬性