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

时间:2015-03-04 12:10:43

标签: symfony sonata-admin

Symfony 2.3.25,SonataAdminBundle

如果我删除了'删除'来自我的管理员的路线

$collection->clearExcept(array('list'));

在configureRoutes中我没有得到批处理'列表视图中的列,这就是我想要的。

但我需要删除'行动。

当我配置路由时:

$collection->clearExcept(array('list', 'delete'));

我得到了批次'列后面,我不想要。我不想要任何批处理操作或批处理列或任何批处理。

我确实想要删除'我在“操作”列中每行按钮。

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

3 个答案:

答案 0 :(得分:15)

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

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

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

        return $actions;
    }
}

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

答案 1 :(得分:2)

2016+更新。现在,您可以使用以下方法自定义批处理操作:

您的Admin类中的

configureBatchActions方法。

 /**
  * Allows you to customize batch actions.
  *
  * @param array $actions List of actions
  *
  * @return array
  */
 protected function configureBatchActions($actions)
 {
     return $actions;
 }

答案 2 :(得分:0)

您还可以使用以下内容:

C++