0

JSON 応答に含めるためにコントローラー内でフォーム コレクションのプロトタイプ属性を取得するのに問題があります。

$form      = $this->createForm(new MyType());
$prototype = $form->get('myCollection')->getConfig()->getAttribute('prototype');

また、フォームのビューを作成し、そこから属性を取得しようとしましたが、prototypeここではキーが定義されていません...

$form      = $this->createForm(new MyType());
$view      = $form->createView();
$prototype = $view->children['myCollection']->vars['attr']['prototype'];

誰かが私が間違っている場所を知っていますか?

(シンフォニー 2.2.4)

4

2 に答える 2

1

私のフォームのコレクションフィールドのプロトタイプ属性だけをレンダリングすることで、私が求めているものを得ることができるようです。これは長い道のりのように感じますが、うまくいきます。

// Controller method
$form      = $this->createForm(new MyType());
$view      = $form->createView()->children['myCollection'];
$prototype = $this->renderView('MyBundle:Foo:prototype.html.twig', array('form' => $view));
<!-- Template (MyBundle:Foo:prototype.html.twig) -->
{{ form_widget(form.vars.prototype) }}
于 2013-07-31T22:38:48.350 に答える