Je suis aux prises avec le moteur de template de symfony/sonata ... normalement je suis familier avec l'héritage et la conception orientée objet, mais je ne comprends pas cela.Comprendre le mécanisme de template de sonata/twig
Ma cible est, pour remplacer le DoctrineORMAdminBundle: CRUD: show_orm_one_to_many.html.twig parce que je crois, la liste pour la fonction show dans ma classe admin est rendue là. J'en ai besoin, parce que je veux montrer mes données non seulement dans une liste simple comme la sonate le fait maintenant. Je veux seulement remplacer ceci pour la fonction d'exposition d'un admin explicite dans mon paquet et pas en général!
Selon la documentation sonate, je ne suis en mesure de remplacer le modèle général « SonataAdminBundle: CRUD: base_show.html.twig » en injectant une propre version héritée d'entre eux à mon service
- [ setTemplate, [show, AcmeBundle:TestAdmin:show.html.twig]]
Le problème est, le gabarit de base inclut/implique de nombreux autres gabarits, parfois accédés par des fonctions objet injectées dans le gabarit par php.
Comment puis-je accéder à/remplacer le
DoctrineORMAdminBundle:CRUD:show_orm_one_to_many.html.twig
de telle sorte que la version de la mine est utilisée à la place des vendeurs un? Ai-je besoin de remplacer tous les modèles de chaînage?
DoctrineORMAdminBundle: CRUD: show_orm_one_to_many.html.twig étend SonataAdminBundle: CRUD: base_show_field.html.twig
Mais je ne sais pas, comment SonataAdminBundle: CRUD: base_show_field.html.twig vient au SonataAdminBundle: CRUD: base_show .html.twig. Je ne peux pas trouver le code approprié.
Merci
Je ne sais pas combien de fois j'ai essayé de cette façon et ça ne marche jamais ... maintenant j'ai essayé à nouveau et tout a fonctionné comme par magie! Merci, vous avez sauvé ma journée :) (conclusion: n'abandonnez jamais, essayez encore une fois ... ^^) Mais ai-je raison, que ce n'est pas aussi facile que cela de surcharger chaque modèle utilisé? –
Si vous entendez par là remplacer 'DoctrineORMAdminBundle: CRUD: show_orm_one_to_many.html.twig', je pense que vous pouvez y parvenir avec le remplacement de template standard comme décrit dans les docs sf ... – greg0ire