acción personalizada en SonataAdminBundle

En estepágina He encontrado cómo agregar ruta para mi acción personalizada.

protected function configureRoutes(RouteCollection $collection) {
    $collection->add('ispremium', $this->getRouterIdParameter().'/ispremium'); 
}

Después de eso agrego acción personalizada en mi clase de administrador:

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'
                )
            )
        ))
    ;
}

Generó url así:

/app_dev.php/admin/mobispot/discodes/discode/300876/ispremium

Mi plantilla para este enlace:

<a href="{{ admin.generateObjectUrl('ispremium', object) }}">Link</a>

No sé cómo resolver estos problemas:

¿Cómo definir un controlador personalizado para esa ruta? Ahora tengo un error:

El método "Sonata \ AdminBundle \ Controller \ CRUDController :: ispremiumAction" no existe.

¿Puedo cambiar la url generada con el método generateUrl?

Respuestas a la pregunta(1)

Su respuesta a la pregunta