如何在默认的“编辑”形式的奏鸣曲管理中删除“删除”按钮?
我写了一个代码来列出从一个简单的数据库中获取的数据,然后在那里放置了一个操作来编辑数据。当我点击这个编辑按钮时,它会进入默认的“编辑”页面。那里有一个叫做“删除”的按钮。我想删除按钮...如何在默认的“编辑”形式的奏鸣曲管理中删除“删除”按钮?
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 %}
我看到3种方式来实现这一目标:
- 删除删除路由,并会删除所有删除所有地方的按钮给管理员
- 重新定义hasroute功能在您的管理员,它会给出相同的效果
- 删除对象的删除权限,取决于什么做您使用权限
感谢它的工作原理:) – user1548055 2012-08-16 11:48:31
在你EntityAdmin类添加以下
public function configureRoutes(RouteCollection $collection)
{
$collection->remove('create');
}
我也可以提出最佳解决方案。 – 2014-07-16 07:50:43
这应该是公认的答案。 – 2015-06-29 16:41:24
太棒了!谢谢。 – chalasr 2016-04-05 13:52:29
我需要隐藏编辑表单删除按钮而不是从列表中移除删除功能。
这是我做到了......万一有人需要做同样的事情
步骤1:复制SonataAdminBundle:CRUD:base_edit_form.html.twig到你的包,并注释掉的代码/更新如需要
//YourBundle/Resources/views/EntityAdmin/base_edit_form.html.twig
{% block form %}
...
{#{% if admin.hasroute('delete') and admin.isGranted('DELETE', object) %}#}
{#{{ 'delete_or'|trans({}, 'SonataAdminBundle') }}#}
{#<a class="btn btn-danger" href="{{ admin.generateObjectUrl('delete', object) }}">{{ 'link_delete'|trans({}, 'SonataAdminBundle') }}</a>#}
{#{% endif %}#}
...
{% endblock %}
步骤2:添加一个新的视图资源edit.html.twig延长默认编辑模板
//YourBundle/Resources/views/EntityAdmin/edit.html.twig
{% extends 'SonataAdminBundle:CRUD:base_edit.html.twig' %}
{% use 'YourBundle:EntityAdmin:base_edit_form.html.twig' with form as parentForm %}
{% block form %}
{{ block('parentForm') }}
{% endblock %}
步骤3:更新您的管理类中使用上面的模板
//YourBundle/Admin/EntityAdmin.php
class EntityAdmin extends Admin{
...
public function getTemplate($name)
{
switch ($name) {
case 'edit':
return 'SomeBundle:EntityAdmin:edit.html.twig';
break;
default:
return parent::getTemplate($name);
break;
}
}
...
}
接受工作答案,请! – 2012-11-23 12:42:49
有没有办法从嵌入式窗体中删除删除路线..? $ collection-> remove('delete')只会删除管理员表单中的删除选项,但不会在表单被嵌入到其他表单中时删除选项 – GBRocks 2013-10-23 04:01:03