我需要在特定管理员的show模板中实现一个表单。在Symfony的原始演示中,显示了一个很好的例子。请在这里查看一下;
现在我在索纳塔做过什么;
我为特定的管理类(OrderAdmin)创建了自定义CRUD控制器。我已经有一个克隆动作,但是我知道我的自定义CRUD控制器工作得很好。
我还有一个特定于OrderAdmin的自定义显示模板。再次,这很好,因为我已经在那里定制了一些东西。
现在我的工作与此自定义评论表单有关;
我的操作只是为了呈现表单(就像在Symfony演示中一样):
/**
* @param Order $order
* @return \Symfony\Component\HttpFoundation\Response
*/
public function commentFormAction(Order $order)
{
$form = $this->createFormBuilder()
->add('comment')
->getForm();
return $this->render('AppBundle:Order:_comment_form.html.twig', array(
'order' => $order,
'form' => $form->createView(),
));
}
我的展示模板的片段:
<div class="row">
<div class="col-md-12">
{{ render(controller('AppBundle:OrderCRUD:commentForm', { 'id': object.id })) }}
</div>
</div>
最后我的_comment_form模板,其中表单自我呈现:
{{ form_start(form) }}
{{ form_widget(form) }}
<button class="btn btn-primary pull-right" type="submit">Comment</button>
{{ form_end(form) }}
我很确定这一切都设置得很好,我得到的唯一问题是......
在渲染模板期间抛出了异常 (“没有为控制器定义
_sonata_admin
AppBundle\Controller\OrderCRUDController
和。{ 当前路线``“)。
我还有另一个操作,即评论表单操作,但是在表单提交之前调用该操作之前,我遇到了问题。
请有人帮我理解这个_sonata_admin
。我该如何定义它?我应该如何处理我的代码,或者我如何更改它以在我的show模板中正确获取表单功能。有人有一个如何实现这个目标的例子吗?我在网上发现了一些人们为之奋斗的帖子。
我还在this question上开了一个非常类似的问题。
我迫切需要帮助才能让它发挥作用。请?我知道索纳塔的支持很差,但我需要你们。