我需要在我的树枝模板中获取 kernel.root_dir,我在这里找到了解决方案,但它不起作用。我收到有关此类中不存在方法内核的错误。真正在 GlobalVariables 类方法 getKernel() 中不存在。那么我如何在树枝模板中获取 root_dir 。
(PS 不,我无法从控制器中获取它,不,我无法将其作为容器参数获取)
我建议你在 config.yml 中添加一个全局变量:
# app/config/config.yml
twig:
# ...
globals:
kernelRootDir: "%kernel.root_dir%"
然后,{{ kernelRootDir }}
在您的视图中使用。
在较新的 Symfony 版本中,解决方案是类似的,但是在5.0kernel.root_dir
版本中删除了该参数,并且 twig 的配置文件位于其他位置。
现在您可以使用该kernel.project_dir
参数,它解析为项目的根目录(而不是内核的根目录)。这通常是您所在的目录composer.json
。
twig:
globals:
kernelProjectDir: '%kernel.project_dir%'
然后{{ kernelProjectDir }}
在您的模板中使用。