Su questo page ho trovato come aggiungere route per la mia azione personalizzata.azione personalizzata in SonataAdminBundle
protected function configureRoutes(RouteCollection $collection) {
$collection->add('ispremium', $this->getRouterIdParameter().'/ispremium');
}
Dopo di che aggiungo un'azione personalizzata nella mia classe di amministrazione:
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'
)
)
))
;
}
ha generato un URL simile a questo:
/app_dev.php/admin/mobispot/discodes/discode/300876/ispremium
mio modello per questo link:
<a href="{{ admin.generateObjectUrl('ispremium', object) }}">Link</a>
Non so come risolvere questo problema SME:
Come definire controllo personalizzato per quel passaggio percorso? Ora ho un errore:
Metodo "Sonata \ AdminBundle \ Controller \ CRUDController :: ispremiumAction" non esiste.
Posso modificare l'url generato con il metodo generateUrl?
Grazie un sacco! Post scriptum Sono noob in symfony 2.0 e ho appena scoperto che posso anche impostare _controller in $ collection-> add method –