在此页面上,我找到了如何为我的自定义操作添加路线。
protected function configureRoutes(RouteCollection $collection) {
$collection->add('ispremium', $this->getRouterIdParameter().'/ispremium');
}
之后,我在我的 Admin 类中添加自定义操作:
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'
)
)
))
;
}
它生成这样的网址:
/app_dev.php/admin/mobispot/discodes/discode/300876/ispremium
我的这个链接的模板:
<a href="{{ admin.generateObjectUrl('ispremium', object) }}">Link</a>
我不知道如何解决这个问题:
如何为该路由传递定义自定义控制器?现在我有一个错误:
方法“Sonata\AdminBundle\Controller\CRUDController::ispremiumAction”不存在。
我可以使用 generateUrl 方法更改生成的 url 吗?