如何在Sonata管理员类中删除操作?

时间:2018-08-29 15:21:46

标签: php symfony sonata-admin

我正在使用使用Sonata管理员捆绑包的Symfony 2.7应用程序。

在我建立的管理类中,configureListFields方法中包含以下代码:

        ->add('_action', 'actions', [
            'actions' => [
                'show' => ['sort'=>''],
                'edit' => ['sort'=>''],
                'delete' => ['sort'=>''],
            ]
        ])

但是我不希望所有这些动作都出现。因此,我改为使其看起来像这样:

        ->add('_action', 'actions', [
            'actions' => [
                'edit' => ['sort'=>''],
            ]
        ])

...,令人惊讶的是,列表视图中没有任何变化。这三个动作仍然存在。我还尝试过完全删除“操作”键。两种方法似乎都不起作用。

我在这里做错了什么?如何删除不需要的动作?

1 个答案:

答案 0 :(得分:1)

在管理类中添加功能configureRoutes

protected function configureRoutes(RouteCollection $collection)
{
    $collection->remove('edit')
    // or if you want to remove everything except some routes
    $collection->clearExcept(array('list', 'show'));
}