Не удалось найти шаблон - ресурсы перенесены из AppBundle в папку приложения

Я переместил шаблоны ресурсов / веток из AppBundle в папку приложения, и теперь я получил:

Unable to find template "ItemBundle:Category:index.html.twig".

Я уже изменил Маршруты в Аннотациях для Контроллеров, но где я мог изменить поведение по умолчанию для index.html.twig, потому что всегда хочу посмотреть на Пакет, но Пакета больше нет, это просто папка приложения.

/**
     * Lists all Category entities.
     *
     * @Route("/", name="category")
     * @Method("GET")
     * @Template(":Category:index.html.twig")
     */

Я не хочу менять все @Template - просто объясните, что все вещи теперь находятся в папке приложения, а не обычным способом CRUD. Для обычного способа CRUD мне не нужно записывать каждый @Template, где найти шаблон веточки.

1 ответ

Решение

Я думаю, вы не понимаете, как разрешаются ссылки на шаблоны. Вот соответствующая документация

Когда вы используете что-то вроде ItemBundle:Category:index.html.twig это означает, что Symfony попытается найти этот шаблон в двух местах, в этом порядке

  1. app/Resources/ ItemBundle / views / Category / index.html.twig
  2. src / ItemBundle / Resources / views / Category / index.html.twig

Так что это будет зависеть от того, куда вы их переместили. Допустим, например, что вы переместили этот один файл ветки в app/Resources/ views/Category/index.html.twig. Обратите внимание на то, как это отличается от #1 выше - шаблон больше не находится в каталоге пакета - только подкаталог корневого каталога представлений.

Поэтому правильные ссылки ::Category/index.html.twig

Другие вопросы по тегам