我正在使用symphony2 / sonata管理面板中的自定义控制器/功能。我想使用以下方式呈现文件:
return $this->render('SonataAdminBundle:CRUD:base_list.html.twig', array('entities' => $entities));
我收到错误
Variable "form" does not exist in SonataAdminBundle:CRUD:base_list.html.twig
在树枝上划线:
<td class="filter-type">{{ form_widget(form.getChild(filter.formName).getChild('type')) }}</td>
感谢。
答案 0 :(得分:1)
您还必须将表单视图传递给渲染。
return $this->render('SonataAdminBundle:CRUD:base_list.html.twig', array('entities' => $entities, 'form' => $form->createView()));
答案 1 :(得分:1)
我想您知道您需要将表单传递给视图 所以我猜你还没有形式。
您需要在相应管理类(奏鸣曲)的控制器中工作才能呈现Datagrid
表单。否则,您需要重写整个逻辑。
包括使用(或不使用)DatagridMapper的所有表单构建/处理。
您应该记住,表单和列表代表sonata-admin的主要组件(每个管理面板都是相同的),虽然它们基于symfony表单,但它代表完全自定义的行为。
因此,对于使用奏鸣曲,您需要处于奏鸣曲环境中。 (在这种情况下,他们的一个CRUD行动)