Désactiver 'ajouter' avec sonata_type_collection dans SonataAdminBundle formes
T il quelqu'un sais comment je peux me débarrasser de la verte des avantages qui permettent l'ajout d'un nouvel élément à une collection dans le sonata admin formes? Le natif collectiontype a allow_add & allow_delete, mais sonata_type_collection ne semble pas remarquer ces options.
J'ai essayé ce qui suit:
->add('store_orders', 'sonata_type_collection', array(), array(
'type_options' => array('allow_add' => false),
))
qui n'a pas d'effet
->add('store_orders', 'sonata_type_collection', array(
'allow_add' => false
))
qui donne une erreur " L'option "allow_add" n'existe pas"
->add('store_orders', 'sonata_type_collection', array(
'type_options' => array('allow_add' => false)
))
qui donne aussi une erreur " L'option "allow_add" n'existe pas"
J'aimerais aussi supprimer le supprimer des cases à cocher à côté de chaque élément de la collection. Je suppose que la réponse se trouve dans un domaine similaire.
Toute aide serait grandement appréciée.
OriginalL'auteur user1207727 | 2012-03-13
Vous devez vous connecter pour publier un commentaire.
Essayer cette
Lorsque vous ajoutez une collection de Sonata admin formes, par défaut, un "Add New" est affiché, pour éviter le "Add New" ou "+" de l'affichage, l'ensemble de la add_btn clé à FALSE dans le tableau, qui est le troisième paramètre de la fonction add.
OriginalL'auteur Albert St Clair
Je ne suis pas très doué avec les SonataAdminBundle, mais deux options de sauter à l'esprit.
Première est d'utiliser le type de collecte au lieu de sonata_type_collection.
Je ne suis pas sûr de ce que seront les résultats de ce changement, mais vous pouvez lui donner un essai et voir ce qui se passe.
L'autre option est de remplacer le modèle avec un de vos propres.
Copie
à
et il suffit de retirer la section
ou vous pouvez les appeler
et il suffit de changer le {% block collection_widget %}
Je suis sûr qu'il ya une meilleure façon d'y parvenir, mais je suis encore un Symfony2 noob et c'est la seule façon que je peux penser off.
Désolé, je voulais ajouter que je ne suis pas très chaud pour remplacer les modèles que je vais probablement le souhaitez ajouter une fonctionnalité dans d'autres modules. Pour l'instant je vais la garder un peu plus longtemps pour une réponse
OriginalL'auteur Pierre
Edit:
Juste essayer
au lieu de
Sonate donne le Accès basé sur les rôles pour objets:-
Plus probable à la suite de contrôles d'accès sera affecté à votre utilisateur avec le rôle du PERSONNEL (qui s'est connecté à Sonata Admin)
Ces rôles seront attribués pour chaque classe.
Si vous voulez vous débarrasser de la "Green points positifs", il vous suffit de supprimer le RÔLE - 'ROLE_..NOM_CREATE' pour l'Administrateur de l'Entité.
Se référer à cette partie de la la documentation si vous êtes coincé.
OriginalL'auteur Amit
1) Vous pouvez en fait créer une extension de modèle et ensuite, seule l'utilisation pour un domaine spécifique, de sorte que vous ne finissent pas primordial le modèle par défaut dans tous les cas.
Si vous voulez faire de cette façon, fondamentalement, vous allez vouloir créer un nouveau modèle comme user1207727 suggéré ci-dessus, en veillant à étendre le modèle que vous souhaitez:
De l'inclure sur votre formulaire pour simplement le domaine que vous souhaitez supprimer le bouton ajouter sur:
Le code ci-dessus dit "afficher le list_custom.html.template twig pour ce domaine". Le modèle par défaut sera utilisé dans tous les cas, que vous n'avez pas à spécifier un modèle de remplacement.
Voir ce code pour un autre exemple:
https://github.com/sonata-project/SonataMediaBundle/blob/2.0/Admin/BaseMediaAdmin.php
2) Selon ce post: http://groups.google.com/group/sonata-users/browse_thread/thread/6a94d662c8a6a17f vous pouvez également supprimer l'itinéraire pour supprimer le bouton ajouter. Je n'ai pas essayé, donc je ne suis pas sûr qu'il fonctionne.
OriginalL'auteur adavea