Symfony为每个输入字段添加样式


Symfony adding style to each input field

我有一个函数,在Symfony2中,创建一个表单。然后我用树枝加载它,一切都很好。

问题是我想分别为每个标签和每个输入添加样式,而我只能为整个表单添加样式。

private function createEditForm(Client $entity)
{
    $form = $this->createForm(new ClientType(), $entity, array(
        'action' => $this->generateUrl('client_update', array('id' => $entity->getId())),
        'method' => 'PUT',
    ));
    $form->add('submit', 'submit', array('label' => 'Update'));
    return $form;
}

我可以这样做,我这样做,或者我必须重建函数,所以它不会从数组动态创建表单?

谢谢。

您可以自定义类呈现,例如在您的ClientType中,通过以下方式:

$builder->add('name' , 'text' , array( 'attr' => array( 'class' => 'nameInputField' ) ) );

或者你可以直接在你的小枝模板中添加/覆盖,如下所示:

{{ form_row(form.name, { 'attr': { 'class': 'nameInputField' }} ) }}

有关高级案例和可重用性,请参阅此处的表单定制教程:

http://symfony.com/doc/current/cookbook/form/form_customization.html