0

私はフォームウィッチがコレクションタイプを持ち、コレクション要素がデータトランスフォーマーを持つフィールドを持っているフォームを作成していますウィッチはIDからエンティティへのコンバーターです:

$builder->add(
        $builder->create('template', 'text', array(
            'label' => false,
            'required' => false,
            'attr' => array(
                'class' => 'template-selector',
            )
        ))->addModelTransformer($transformer)
    );

これが必要なのは、このフィールドを Select2 (javascript lib) ajax を利用した要素にしたいからです。

問題は、Select2にデータを入力する必要があることです。これを行うには、フォームビルダーから属性(データ値としましょう)としてデータを渡す合理的な(パフォーマンスのための)オプションが1つしかありませんが、要素を作成しない限り、フォームビルダーにはデータがありませんEventListener ですが、モデル トランスフォーマーを追加できません。

どうすればそのような機能を実現できますか? 追加のクエリや ajax 呼び出しはありませんか?

4

1 に答える 1

0

小枝テンプレートでこれを行うことがわかった唯一の方法:

{% if item.get('value').template %}
    {% set templ_id = item.get('value').template.getId %}
    {% set templ_text = item.get('value').template.getTitle %}

    {{ form_row(item.template, {'attr': {'data-value' : '{id:' ~ templ_id ~ ', text:"' ~ templ_text ~ '"}'}}) }}
{% else %}
    {{ form_row(item.template) }}
{% endif %}

項目がフォーム コレクション要素である場所

于 2013-02-20T11:55:20.163 に答える