Я борюсь с движком шаблонов symfony/sonata ... обычно я знаком с наследованием и объектно-ориентированным дизайном, но я этого не понимаю.Понимание шаблона механизма сонаты/twig
Моя цель - переопределить DoctrineORMAdminBundle: CRUD: show_orm_one_to_many.html.twig, потому что я верю, что список для функции show в моем классе администратора отображается там. Мне это нужно, потому что я хочу показать свои данные не только в обычном списке, как соната делает это сейчас. Я только хочу переопределить это для функции show одного явного администратора в моем пакете и не вообще!
Согласно документации сонаты, я только способен переопределить общий шаблон «SonataAdminBundle: CRUD: base_show.html.twig», вводя собственную унаследованную версию их моей службы
- [ setTemplate, [show, AcmeBundle:TestAdmin:show.html.twig]]
Проблема , базовый шаблон включает/включает в себя множество других шаблонов, к которым иногда обращаются объектные функции, введенные в шаблон php.
Как я могу получить доступ к/переопределить
DoctrineORMAdminBundle:CRUD:show_orm_one_to_many.html.twig
так, что мина версия используется вместо поставщиков одного? Я должен переопределить все шаблоны цепочки?
DoctrineORMAdminBundle: CRUD: show_orm_one_to_many.html.twig расширяет SonataAdminBundle: CRUD: base_show_field.html.twig
Но я не знаю, как SonataAdminBundle: CRUD: base_show_field.html.twig приходит к SonataAdminBundle: CRUD: base_show .html.twig. Я не могу найти подходящий код.
Благодаря
Я не знаю, как часто я пробовал этот путь, и он никогда не работает ... теперь я попробовал снова, и все работало, как магия! Спасибо, ты спас мой день :) (вывод: никогда не сдавайся, повторите попытку снова ... ^^) Но я прав, что это не так просто, чтобы переопределить каждый использованный шаблон? –
Если вы имеете в виду переопределить 'DoctrineORMAdminBundle: CRUD: show_orm_one_to_many.html.twig', я думаю, вы можете добиться этого со стандартным переопределением шаблона, как описано в sf docs ... – greg0ire