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'];

有谁知道我要去哪里错了?

(Symfony 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 回答
0

$prototype = $view->children['myCollection']->vars['prototype'];

于 2013-07-31T17:34:36.950 回答