Plugin sfDoctrineAdminGeneratorWithShowPlugin pour Symfony 1.4
Une question récurrente sur les forums traitant du framework Symfony :
A quoi sert le paramètre with_show dans le fichier generator.yml ?
Aussi surprenante soit-elle, la réponse usuelle à cette question est :
Par défaut, à rien...
Alors comment afficher les détails d'un objet dans une page d'administration sans que celles-ci soient modifiables ? il est bien nécessaire d'activer l'action show. Les plugins sfDoctrineAdminGeneratorWithShowPlugin et sfPropelAdminGeneratorWithShowPlugin ont été créés pour compenser ce manque. Malheureusement ils ne fonctionnent que pour Symfony 1.2 et 1.3.
Plugin sfDoctrineAdminGeneratorWithShowPlugin pour Symfony 1.4
Paralysé par cette absence d'action show sous Symfony 1.4, je me suis lancé dans la correction du plugin sfDoctrineAdminGeneratorWithShowPlugin pour le rendre compatible.
![]()
Télécharger sfDoctrineAdminGeneratorWithShowPlugin pour Symfony 1.4
Pour installer le plugin, décompressez l'archive dans le répertoire plugin/ de votre projet Symfony.
Activez le plugin en modifiant le fichier config/ProjectConfiguration.class.php
$this->enablePlugins('sfDoctrinePlugin','sfDoctrineAdminGeneratorWithShowPlugin');
Générez le module d'administration :
./symfony doctrine:generate-admin --theme=adminWithShow application ClasseExemple
Activez l'action vue dans le fichier application/modules/classe_exemple/config/generator.yml
with_show: true
Cela donne par exemple :
generator:
class: sfDoctrineGenerator
param:
model_class: ClasseExemple
theme: adminWithShow
non_verbose_templates: true
with_show: true
singular: ~
plural: ~
route_prefix: classe_exemple
with_doctrine_route: true
config:
actions: ~
fields: ~
list: ~
filter: ~
form: ~
edit: ~
new: ~
show: ~
Maintenant que l'action show est ajoutée, vous pouvez personnaliser à souhait votre module d'administration en modifiant le fichier generator.yml et/ou les templates. Toute la documentation utile est sur le site du framework.
Aucun trackbacks pour l'instant
11 mai 2010 - 15:04
Merci pour ce plugin, ca marche
Quelques petits bemols quand meme:
* Comment traduire ‘Show’ ?
* Dans la vue show, les nom de colonnes ne sont pas remplacés par leurs label, comment ca doit se faire?
* Je vois dans la capture d’ecran ci dessus le parametre show dans config (du generator.yml). Y a t’il une doc ce que ce champ peut recevoir?
11 mai 2010 - 15:48
Une premiere reponse: Pour personnaliser les labels, il faut specifier l’attribut name dans la partie config/fields (la ou il y a label habituellement)
Ca aurait d’ailleurs été logique d’utiliser Label non?
11 mai 2010 - 16:46
Apres modification du fichier XML de configuration de la langue de symfony et plusieurs CC, ‘show’ est maintenant affiché ‘voir’. J’ai un peu manqué de patience
(Si je dis tout ca, c’est pas pour spammer, c’est juste que ca pourra etre utile au prochain qui aura ces memes soucis, peut etre meme moi dans 6 mois quand je serais sur un nouveau projet SF
)
17 juillet 2010 - 23:36
Merci Nexxed de ta contribution. Il y a effectivement pas mal de corrections à faire pour obtenir le résultat que l’on souhaite.