Esiste un modo semplice per disattivare alcune azioni CRUD per una determinata classe di amministrazione? Per esempio. Voglio solo un elenco di utenti aggiunti tramite front-end senza l'opzione di aggiungerli manualmente.disabilita l'azione nel pacchetto di amministrazione sonata CRUD
risposta
Nella classe admin:
protected function configureRoutes(RouteCollection $collection)
{
// to remove a single route
$collection->remove('delete');
// OR remove all route except named ones
$collection->clearExcept(array('list', 'show'));
}
Anche utilizzare RouteCollection in cima alla classe di amministrazione
use Sonata\AdminBundle\Route\RouteCollection;
Documenti: http://sonata-project.org/bundles/admin/master/doc/reference/routing.html#removing-a-single-route
E se fosse necessario rimuovere un percorso solo quando l'utente non è assegnato un certo ruolo? –
Funziona per un tipo di utente, ma se più utenti hanno ruoli diversi, l'azione viene salvata nella cache. Quando si passa da un ruolo all'altro, la cache viene caricata e i ruoli non vengono controllati. – marijnz0r
possibile duplicato del [Syfmony2 sonata adminBundle senza creare azione] (http : //stackoverflow.com/questions/17923343/syfmony2-sonata-adminbundle-without-create-action) – TautrimasPajarskas