Sonata Admin从列表视图中删除批次列

Dav*_*san 3 symfony sonata-admin

Symfony 2.3.25,SonataAdminBundle

如果我从我的管理员中删除"删除"路线

$collection->clearExcept(array('list'));
Run Code Online (Sandbox Code Playgroud)

在configureRoutes中,我在列表视图中没有"批处理"列,这就是我想要的.

但我需要'删除'动作.

当我配置路由时:

$collection->clearExcept(array('list', 'delete'));
Run Code Online (Sandbox Code Playgroud)

我得到了'批次'专栏,这是我不想要的.我不想要任何批处理操作或批处理列或任何批处理.

我确实想要一个"动作"列中的每行"删除"按钮.

如何在列表视图中禁止批次列?

Hyp*_*peR 17

您可以通过覆盖batchActions方法来删除或添加批处理操作.您只需在Admin类中添加自己的batchActions方法即可.

要删除删除操作,您必须执行以下操作:

class Admin
{
    public function getBatchActions()
    {
        $actions = parent::getBatchActions();
        unset($actions['delete']);

        return $actions;
    }
}
Run Code Online (Sandbox Code Playgroud)

默认SonataAdmin batchActions方法的文档:https://github.com/sonata-project/SonataAdminBundle/blob/master/Admin/Admin.php#L1142