Хорошо, это может быть очень странная вещь.
это не первый раз, когда я работаю над проектом Symfony, но:
Я использовал команду Symfony generate: bundle и после этого создал пакет. Давайте назовем это «CrimeBundle».
Я видел, что он сделал папку внутри src /
Он также автоматически создал DefaultController и файл index.html.twig.
Теперь, когда я использую:
return $this->render('CrimeBundle:Default:index.html.twig');
это не работает: я получаю ошибку:
Невозможно найти шаблон «CrimeBundle: по умолчанию: index.html.twig» (просматривал: / Users / admin / sites / solve / app / Resources / views, / Users / admin / sites / solve / vendor / symfony / symfony / src / Symfony / мост / Twig / Ресурсы / мнение / форма).
однако это работает всякий раз, когда я использую путь к ветке пространства имен, например:
return $this->render('@Crime/Default/index.html.twig');
Мне нравится первый вариант, потому что в других моих проектах я тоже его использую. Ни одна из них не является той же версией, в настоящее время я использую: 3.4.1
Снова файл там, потому что он работает с пространственными путями с именами.
Я не могу понять почему return $this->render('CrimeBundle:Default:index.html.twig');
не будет работать, поскольку Symfony сгенерировал этот код.
Согласно этому — https://symfony.com/doc/3.4/templating.html#referencing-templates-in-a-bundle
Это единственный тип ссылки, поддержка шаблонов пакетов
@BundleName/directory/filename.html.twig
Если вы перейдете к документации для Symfony 3.1, вы увидите, что это была последняя версия, которая поддерживала старую ссылку
AcmeBlogBundle:Blog:index.html.twig
Может быть, вы можете создать запрос на извлечение для этого файла
SensioGeneratorBundle / пучок / DefaultController.php.twig