【问题标题】:Rendering Sonata Admin Twig Files Variable Form Not Found未找到渲染 Sonata Admin Twig 文件的变量形式
【发布时间】:2016-06-24 10:52:57
【问题描述】:

我正在开发 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>

谢谢。

【问题讨论】:

    标签: php symfony twig sonata


    【解决方案1】:

    我想你知道你需要将表单传递给视图。
    所以我猜你没有表格。

    您需要在相应的管理类(奏鸣曲)的控制器中工作以呈现Datagrid 表单。否则,你需要重写整个逻辑。

    这包括使用(或不使用)DatagridMapper 的所有表单构建/处理。

    您应该记住,表单和列表代表了 sonata-admin 的主要组件(每个管理面板都相同),尽管它们基于 symfony 表单,但它代表了完全自定义的行为。

    因此,要使用奏鸣曲,您需要处于奏鸣曲上下文中。 (在这种情况下,他们的 CRUD 操作之一)

    【讨论】:

      【解决方案2】:

      你还必须传递表单视图来渲染。

      return $this->render('SonataAdminBundle:CRUD:base_list.html.twig', array('entities' => $entities, 'form' => $form->createView()));
      

      【讨论】:

        猜你喜欢
        • 2016-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多