在Sonata Admin中,在我的一个部分中,我想禁用4个特定条目/行的删除操作。
我知道我可以使用configureRoutes()
为整个商家信息执行此功能,但无法找到特定条目的任何内容。
我尝试了以下操作,但getSubject()
始终为空。
protected function configureRoutes(RouteCollection $collection)
{
$product = $this->getSubject();
if ($product && $product->getIsBase())
{
$collection->clearExcept(array('list', 'edit'));
}
}
由于
答案 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);
}