7

事前定義された配列のチェックボックスをSymfonyフォームに表示したい。ユーザーは複数を選択できるはずですが、私はそれを行うことができません。

これは私のコードです:

public function buildForm(FormBuilder $builder, array $options)
{
    $roles = array('role1', 'role2', 'role3');
    $builder
        ->add('name')
        ->add('roles', 'checkbox', $roles)
    ;
}
4

2 に答える 2

9

choiceタイプリファレンスを参照してください。

public function buildForm(FormBuilder $builder, array $options)
{
    $roles = ['role1', 'role2', 'role3'];

    $builder
        ->add('name')
        ->add('roles', 'choice', [
            'choices' => $roles,
            'multiple' => true,
            'expanded' => true
        ])
    ;
}
于 2012-07-13T07:58:06.997 に答える
5

choice代わりにフィールドを使用できます。

public function buildForm(FormBuilder $builder, array $options)
{        
    $roles = array("role1","role2","role3");
    $builder
        ->add('name')
        ->add('roles', 'choice', array(
            'choices' => $roles,
            'multiple' => true,
            'expanded' => true,
        ))    
    ;
}

このフィールド タイプでチェックボックス、選択、またはラジオ ボタンを使用する方法については、ドキュメントを参照してください: http://symfony.com/doc/current/reference/forms/types/choice.html#forms-reference-選択タグ

于 2012-07-13T08:00:02.300 に答える