5

我需要在我的树枝模板中获取 kernel.root_dir,我在这里找到了解决方案,但它不起作用。我收到有关此类中不存在方法内核的错误。真正在 GlobalVariables 类方法 getKernel() 中不存在。那么我如何在树枝模板中获取 root_dir 。

(PS 不,我无法从控制器中获取它,不,我无法将其作为容器参数获取)

4

2 回答 2

16

我建议你在 config.yml 中添加一个全局变量:

# app/config/config.yml
twig:
    # ...
    globals:
        kernelRootDir: "%kernel.root_dir%"

然后,{{ kernelRootDir }}在您的视图中使用。

于 2015-03-05T07:52:46.773 回答
1

在较新的 Symfony 版本中,解决方案是类似的,但是在5.0kernel.root_dir版本中删除了该参数,并且 twig 的配置文件位于其他位置。

现在您可以使用该kernel.project_dir参数,它解析为项目的根目录(而不是内核的根目录)。这通常是您所在的目录composer.json

twig:
    globals:
        kernelProjectDir: '%kernel.project_dir%'

然后{{ kernelProjectDir }}在您的模板中使用。

于 2020-11-10T08:41:54.083 回答