如何使用Symfony2更改现有表单中的输入类型?

时间:2012-07-09 08:23:38

标签: php symfony doctrine-orm dbal

我有一个表单类,我正在定义一些输入,这就是这个:

class User extends AbstractType
{

    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder->add('mail', 'text', array('label' => 'Mail'))
                ->add('password', 'text', array('label' => 'Hasło'))
                ->add('description', 'textarea', array('label' => 'Opis'));
    }
}

我想将邮件和密码输入类型更改为只读并设置一些值。 现在,我以这种方式使用表单:

$form = $this->createForm(new User($this->get('database_connection')));

我尝试了很多东西,但是Symfony2有很多Form类,我已经迷失了。 我想简单地向现有的添加输入添加一些属性。 我不使用Doctrine2 ORM,我使用Doctrine DBAL,如果它确实重要。

提前致谢。

1 个答案:

答案 0 :(得分:4)

您可以使用'data'参数设置默认值,并使用attr参数

进行只读
$builder
    ->add('mail', 'text', array('label' => 'Mail', 'data' => 'Default value'
           attr => array('readonly=>'readonly')));