8
在此page我發現瞭如何爲我的自定義操作添加路由。SonataAdminBundle中的自定義操作
protected function configureRoutes(RouteCollection $collection) {
$collection->add('ispremium', $this->getRouterIdParameter().'/ispremium');
}
之後,我添加自定義動作在我的管理類:
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('id')
->add('code', null, array('label' => 'Code'))
->add('_action', 'actions', array(
'actions' => array(
'ispremium' => array(
'template' => 'AppMyBundleBundle:Admin:ispremium.html.twig'
)
)
))
;
}
它生成的URL是這樣的:
/app_dev.php/admin/mobispot/discodes/discode/300876/ispremium
我對這個鏈接的模板:
<a href="{{ admin.generateObjectUrl('ispremium', object) }}">Link</a>
我不知道如何解決這個問題ems:
如何爲該路徑傳遞定義自定義控制器? 現在我有一個錯誤:
方法「Sonata \ AdminBundle \ Controller \ CRUDController :: ispremiumAction」不存在。
我可以使用generateUrl方法更改生成的url嗎?
感謝的很多!附:我很喜歡symfony 2.0,剛剛發現,我也可以在$ collection-> add方法中設置_controller –