FAQ SymfonyConsultez toutes les FAQ
Nombre d'auteurs : 17, nombre de questions : 81, dernière mise à jour : 18 juin 2017 Ajouter une question
Les questions redondantes se multipliant sur le forum Symfony, nous avons choisi de créer cette FAQ afin de regrouper les questions qui sont posées fréquemment.
Vos remarques et idées sont les bienvenues. Et pourquoi pas votre aide ! S'il vous prend l'envie de tailler votre plus belle plume et de retrousser vos manches, il y a de quoi faire !
Il s'agit d'une partie de Symfony qui cherche à simplifier les parties administratives de votre frontend en prenant en charge les pages CRUD (Create, Read, Update, Delete) pour un modèle de données spécifique. Pour avoir votre premier module ainsi généré, il vous suffit de taper une seule ligne de commande ! La voici d'ailleurs :
Vous pouvez aussi spécifier le nom du module qui sera généré :
D'autres options sont disponibles.
Cette commande générera un nouveau module, contenant quatre dossiers : actions, config, lib et templates. La configuration générale se fait dans le dossier config, fichier generator.yml. Ensuite, vous pouvez définir vos propres actions et actions de groupe, qu'il faudra introduire dans le fichier de configuration et implémenter dans le fichier d'actions. Finalement, tous les templates générés par le fichier de configuration peuvent être redéfinis très simplement, il suffit de mettre votre fichier dans ce dossier templates.
Lors du chargement du module, Symfony en achève la préparation (création des actions, des templates, etc.) dans votre dossier temporaire. Vous pouvez aller regarder ces fichiers, ils vous apprendront plus vite que quiconque quel template est à redéfinir pour telle ou telle modification.
Le fichier de configuration du module dont vous souhaitez supprimer les actions est le seul à modifier (vous pouvez aussi redéfinir les templates, mais cette méthode est moins propre et vous expose à divers risques lors de la mise à jour de Symfony, en plus d'une surcharge de travail à la migration vers une version plus récente).
Il suffit d'y mettre ce code :
list:
object_actions: {}
list: ~
Ici aussi, seul le fichier de configuration est à modifier :
list:
object_actions:
do: { label: Do, action: do }
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | public function executeDo($request) { $q = Doctrine_Query::create() ->from('table t') ->where('t.id = ?', $request->getParameter('id')); $q = $q->fetchOne(); $q->save(); $this->redirect('module/index'); } |
Deux solutions s'offrent à vous : une méthode rapide, claire et nette, la modification du fichier de configuration ; une méthode plus lente et plus hasardeuse, le remplacement des templates générés. Seule la première sera évidemment montrée.
Dans le fichier de configuration :
list:
batch_actions: {}
Il faut tout d'abord préciser au générateur que vous souhaitez ajouter une action de groupe supplémentaire :
list:
batch_actions:
do: { label: Do, action: do }
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public function executeBatchDo($request) { $q = Doctrine_Query::create() ->from('table t') ->whereIn('t.id', $request->getParameter('ids')); foreach ($q->execute() as $p) { $p->save(); } $this->redirect('module/index'); } |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.