禁用特定条目的操作

时间:2016-03-24 13:31:42

标签: symfony sonata-admin

在Sonata Admin中,在我的一个部分中,我想禁用4个特定条目/行的删除操作。

我知道我可以使用configureRoutes()为整个商家信息执行此功能,但无法找到特定条目的任何内容。 我尝试了以下操作,但getSubject()始终为空。

protected function configureRoutes(RouteCollection $collection)
{
    $product = $this->getSubject();
    if ($product && $product->getIsBase())
    {
        $collection->clearExcept(array('list', 'edit'));
    }
}

由于

1 个答案:

答案 0 :(得分:1)

您必须覆盖管理类中的isGranted方法:

public function isGranted($name, $object = null)
{
    if (in_array($name, array('LIST', 'EDIT')) && $object && $object->getIsBase()) {
        return false;
    }

    return parent::isGranted($name, $object);
}