如何在sonata admin的默认"编辑"形式中删除"删除"按钮?

use*_*055 4 symfony-forms symfony sonata-admin

我写了一个代码来列出从一个简单的数据库中获取的数据,然后我在其中编写了一个动作来编辑数据 当我单击此"编辑"按钮时,它将转到默认的"编辑"页面.那里有一个名为"删除"的按钮.我想删除那个按钮......

小智 12

在您的EntityAdmin类中添加以下内容

public function configureRoutes(RouteCollection $collection)
{
  $collection->remove('create');
}
Run Code Online (Sandbox Code Playgroud)


Wiz*_*rdZ 3

base_edit_form.html.twig:

{% if admin.hasroute('delete') and admin.isGranted('DELETE', object) %}
    {% trans from 'SonataAdminBundle' %}delete_or{% endtrans %}
    <a class="btn danger" href="{{ admin.generateObjectUrl('delete', object) }}">{% trans from 'SonataAdminBundle' %}link_delete{% endtrans %}</a>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

我认为有 3 种方法可以实现这一目标:

  • 删除删除路线,它将从所有位置删除所有删除按钮以供管理员使用
  • 在你的管理员中重新定义 hasroute 函数,它会产生相同的效果
  • 删除对象的删除权限,取决于您使用的权限