我试图从Symfony2中的字符串呈现一个表单,并在变量中得到结果。我尝试了这个解决方案,Symfony 2树枝形式功能不可用,但我得到一个错误(服务'twig.form.renderer'不可用)。所以我改变了addExent部分(不确定类)。这是我的代码:
$env = new \Twig_Environment(new \Twig_Loader_String());
$rendererEngine = new \Symfony\Bridge\Twig\Form\TwigRendererEngine();
$env->addExtension(new \Symfony\Bridge\Twig\Extension\FormExtension(new \Symfony\Bridge\Twig\Form\TwigRenderer($rendererEngine)));
$form = $this->createFormBuilder()->add('testField', 'text');
$form = $form->getForm()->createView();
return $env->render(
'{{ form(form) }}',
array('form' => $form)
);
现在,我得到了“致命错误:未捕获异常'Symfony\Component\Form\exception\logiception',并在呈现表单时显示消息'No block'Form'
对于细枝模板,我使用以下代码:
$twig = $this->container->get('twig');
$twig->initRuntime();
return JsonResponse::create(array(
'success' => false,
'form' => $twig->getExtension('form')->renderer->searchAndRenderBlock($form->createView(), 'widget'),
));
对于php模板引擎:
$this->container->get('templating.helper.form')->widget($form->createView());
您应该包括定义form
块的form_div_layout。