Jas*_*igh 4 action add button symfony sonata-admin
我对Symfony很新(2周),所以请原谅我的无知.
我正在尝试添加一个自定义操作按钮,该按钮将链接到RELATED实体的预过滤列表.我做了很多研究,但似乎找不到我需要的东西.
目前我有两个实体书籍和作者与manyToOne关系船.我以通常的方式在Sonata Admin中设置了这些,并且一切正常.我甚至在书籍列表页面上有一个作者过滤器,我希望可以利用它来实现我的目标.
在"作者"列表视图中,我想在"查看和编辑"旁边的每一行上添加一个操作按钮,称为"按作者查看书籍".我可以获取按钮但无法正确构建URL.
我有3个问题与路由:
1)我试图在我的按钮模板中使用admin.generateObjectUrl()或类似物来干净地构建管理URL但无法获得备用实体的路径.就我而言,由于我目前正在查看作者,因此链接始终指向作者实体,而不是我想要的书籍.
2)我不确定如何获取当前作者的id以将其传递给过滤器
3)我不确定如何干净地构建过滤器查询字符串参数.如果有必要,我可以手工完成:bookEntityListPath +"?filter [author] [value] [] ="+ $ authorID但显然这不是那么干净,如果可能的话我更喜欢更好的方法.
提前致谢!!!
vit*_*rus 13
我有同样的问题,当我找不到答案时开始尝试一些代码.使用path()twig方法(路径到路径转换),可以很容易地创建这样的链接.
请参阅此文档:http://symfony.com/doc/current/book/routing.html#generating-urls-from-a-template
您的链接看起来像这样:
<a href="{{ path('admin_application_book_list', {
'filter[author][value]': object.id
}) }}" class="btn btn-small">
Run Code Online (Sandbox Code Playgroud)
随着"admin_application_book_list"是路径的图书列表(bookEntityListPath?)和object.id是你的作者的ID(必须在实体的细节或编辑模板名称对象)
| 归档时间: |
|
| 查看次数: |
2794 次 |
| 最近记录: |