Twig 模态奏鸣曲管理中的渲染列表操作

Twig 模态奏鸣曲管理中的渲染列表操作,twig,render,sonata-admin,Twig,Render,Sonata Admin,我试图在sonata中以模态呈现我的管理类的列表操作,但是我找不到正确的方法来实现它? 有人能帮我吗? 我只想要datagrid,而不是所有页面(菜单、顶栏等)。 实际上我是这样做的: <a href="#" class="btn btn-sm btn-default" data-toggle="modal" data-target="#basicModal1">En Cours modal</a> <div class="modal fade" i

我试图在sonata中以模态呈现我的管理类的列表操作,但是我找不到正确的方法来实现它? 有人能帮我吗? 我只想要datagrid,而不是所有页面(菜单、顶栏等)。 实际上我是这样做的:

    <a href="#" class="btn btn-sm btn-default" data-toggle="modal"     data-target="#basicModal1">En Cours modal</a>
<div class="modal fade" id="basicModal1" tabindex="-1" role="dialog"  aria-labelledby="basicModal" aria-hidden="true">
<div class="modal-dialog">
  <div class="modal-content">
   <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal"   aria-hidden="true">&amp;times;</button>
                <h4 class="modal-title" id="myModalLabel">Modal title</h4>
               </div>
            <div class="modal-body">
                {{render (controller('MonBundle:Controller:list',{'id':object.id}))}} 

            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
    </div>
  </div>
    </div>

显示整个页面是因为您包含了标准控制器操作的模板。Sonata使用app.request.isXmlHttpRequest的条件来检测视图是以模式(通过AJAX)还是以标准方式打开的

因此,您可以通过以下步骤解决问题:

1) 点击按钮绑定JS函数(打开模态)

2) 单击按钮时,加载URL并将其响应正文粘贴到
。模态正文中

URL:
{{path('your-list-action-name',{id':object.id}}}

当您从页面向列表中添加新记录时,它将解决此问题,但列表将显示旧记录(因为在代码段中,列表在第一次呈现时呈现一次)

更多信息可以在索纳塔的ORM管理包(如果您使用ORM)中找到,位于
Resources/views/CRUD/edit\u ORM\u many\u association\u script.html.twig

Error: Call to a member function getRelativePath() on null