Мне нужно получить kernel.root_dir в моем шаблоне ветки, решения я нашел здесь a>, но это не работает. Я получаю сообщение об ошибке в отношении несуществующего метода Kernel в этом классе а>. На самом деле в классе GlobalVariables метод getKernel () не существует. Итак, как я могу получить root_dir в шаблоне веточки.
(P.S. Нет, я не могу получить его из контроллера, и нет, я не могу получить его как параметры контейнера)
2 ответа
Предлагаю вам добавить глобальную переменную в ваш config.yml:
# app/config/config.yml
twig:
# ...
globals:
kernelRootDir: "%kernel.root_dir%"
Затем используйте {{ kernelRootDir }}
в своих представлениях.
В более новых версиях Symfony решение аналогично, но параметр kernel.root_dir
был удален в версии 5.0, а файл конфигурации для twig находится в другом месте.
Теперь вы можете использовать параметр kernel.project_dir
, который преобразуется в корневой каталог проекта (а не в корневой каталог ядра). Обычно это каталог, в котором находится ваш composer.json
.
twig:
globals:
kernelProjectDir: '%kernel.project_dir%'
Затем используйте {{ kernelProjectDir }}
в своих шаблонах.
Похожие вопросы
Новые вопросы
php
PHP — это широко используемый язык сценариев общего назначения с открытым исходным кодом, мультипарадигмальный, динамически типизированный и интерпретируемый, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.