Я использую Symfony v3.3.13 и Sonata Admin Bundle 3.27.0 с TWIG v2.4.4
У меня есть небольшая проблема с пониманием того, как работают шаблоны шаблонов. Мне недавно нужно было загрузить новый шаблон для поля просмотра списка в SonataAdminBundle .
Я должен был определить путь следующим образом:
->add('coords', null, ['template' => 'SonataAdmin/CRUD/geography_point_list.html.twig']);
Файл geography_point_list.html.twig находился в app/Resources/views/SonatAdmin/Crud
Мне также удалось получить эту работу с помощью пути AppBundle::SonataAdmin/CRUD/geography_point_list.html.twig . Однако тогда файл должен быть в src/AppBundle/Resources/views/SonatAdmin/Crud
Однако во всех примерах я вижу, что путь файла шаблона делится на двоеточие : вместо косой черты / пока я не могу получить что-то вроде AppBundle:SonataAdmin:CRUD:geography_point_list.html.twig для работы. Я попробовал несколько вариантов, и я всегда получаю Unable to find template . Ни одно из следующих не было выполнено (у меня есть как в app/Resources/views/SonataAdmin/CRUD и в src/AppBundle/Resources/views/SonataAdmin/Crud :
->add('coords', null, ['template' => 'App:SonataAdmin:CRUD:geography_point_list.html.twig']); ->add('coords', null, ['template' => 'AppBundle:SonataAdmin:CRUD:geography_point_list.html.twig']); ->add('coords', null, ['template' => 'AppBundle:app:Resources:views:SonataAdmin:CRUD:geography_point_list.html.twig']); ->add('coords', null, ['template' => 'App::SonataAdmin:CRUD:geography_point_list.html.twig']); ->add('coords', null, ['template' => 'AppBundle::SonataAdmin:CRUD:geography_point_list.html.twig']);
ОК. Итак, у меня есть 2 вопроса:
1- Почему это не работает? Что я делаю не так? или что может отсутствовать? Потому что я вижу такие пути, как SonataAdminBundle:CRUD:list.html.twig определен в SonataAdminBundle и они, похоже, работают?
2- В документации по именованию и размещению документов говорится, что правильным местом для размещения шаблонов является app/Resources/views
a) AppBundle ли хранение шаблонов в AppBundle ? б) Почему нет смысла хранить шаблоны в AppBundle ? Я не понимаю, почему каталог app имеет config и Resources отдельно от AppBundle ?