3

フォームにチェックボックスの動的リストを表示したいと思います。

これまでのところ、チェックボックスの静的リストを埋め込んだフォームを作成し、さまざまな言語のさまざまな値の Tag エンティティを作成して、データベースに入力しました。Tag エンティティに基づいて、静的チェックボックスを動的リストに置き換えたいと思います。

ドキュメントには、ChoiceListInterface を使用する必要があると記載されています。しかし、それは本当に不十分に文書化されています。私を助けるための例またはグローバルロジックの説明はありますか?

4

2 に答える 2

2

LazyChoiceList抽象クラスを拡張してloadChoiceList()メソッドを実装し、そのサービスを作成してフォームに注入し、choice_listオプションとして設定できます。

于 2012-10-29T13:04:17.733 に答える
1

最後に、エンティティ フィールド タイプを使用しました。

->add('tags', 'entity', array(
            'class' => 'bndMyBundle:Tag',
            'query_builder' => function(EntityRepository $er){
                return $er->createQueryBuilder('t')
                        ->orderBy('t.en', 'ASC');
            },
            'expanded'   => true,
            'multiple'  => true,
            'property'  => 'en',
        ))

次に、「en」の値をユーザーの現在のロケールに置き換えて、適切な言語を選択するだけです。

于 2012-11-01T13:41:15.940 に答える