如何根据对象Sonata Admin删除路由

时间:2014-07-28 16:10:19

标签: symfony sonata-admin

我想删除某些对象的删除路由(链接到其他对象......)。

有没有办法根据编辑的对象(例如id)删除configureRoutes方法中的路由?

或者有没有办法在configureFormFields方法中执行此操作?

1 个答案:

答案 0 :(得分:1)

要获取XXXAdmin类中的当前对象,请使用:

$this->getSubject();

protected function configureFormFields(FormMapper $formMapper) {
  $product = $this->getSubject();

  if ($product->getId()) { // editing
    //
  }
  //...
}

public function configureRoutes(\Sonata\AdminBundle\Route\RouteCollection $collection)  {
  $product = $this->getSubject();

  if ($product->getId()) { // editing
    $collection->remove('route');
  }

}