action personnalisée dans SonataAdminBundle
Sur ce page j'ai trouvé comment ajouter de la route pour mon action personnalisée.
protected function configureRoutes(RouteCollection $collection) {
$collection->add('ispremium', $this->getRouterIdParameter().'/ispremium');
}
Après que j'ai ajouter une action personnalisée dans mon Admin catégorie:
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'
)
)
))
;
}
Il a généré url comme ceci:
/app_dev.php/admin/mobispot/discodes/discode/300876/ispremium
Mon modèle pour ce lien:
<a href="{{ admin.generateObjectUrl('ispremium', object) }}">Link</a>
Je ne sais comment résoudre ce problèmes:
- Comment définir un contrôleur pour l'itinéraire passe?
Maintenant, j'ai une erreur:Méthode "Sonate\AdminBundle\Controller\CRUDController::ispremiumAction" n'existe pas.
- Puis-je changer l'url générée avec generateUrl méthode?
OriginalL'auteur Sergei Zherevchuk | 2012-05-24
Vous devez vous connecter pour publier un commentaire.
Lors de la création d'un service pour
EntityAdmin
classe le troisième argument est le nom du contrôleur. Vous pouvez créer une classe qui étend la classeCRUDController
et de les mettre en service. e.gLe contrôleur,
Dans
services.yml
,OriginalL'auteur Mun Mun Das