0

我正在使用 Symfony 2.8,我正在尝试将一个变量注入到所有 Twig 模板中,正如文档在此处所说的那样,所以我在以下位置进行了更改app/config/config.yml

twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
    globals:
        admin_skin: "%admin_skin%"

app/config/parameters.yml

admin_skin: skin-blue-light

但我以这个错误结束:

您请求了一个不存在的参数“admin_skin”。

这就是日志所说的:

in ParameterBag.php line 94
at ParameterBag->get('admin_skin') in ParameterBag.php line 214
at ParameterBag->resolveString('%admin_skin%', array('admin_skin' => true)) in ParameterBag.php line 185
at ParameterBag->resolveValue('%admin_skin%', array()) in ParameterBag.php line 175
at ParameterBag->resolveValue(array('admin_skin' => '%admin_skin%'), array()) in ParameterBag.php line 175
at ParameterBag->resolveValue(array('debug' => '%kernel.debug%', 'strict_variables' => '%kernel.debug%', 'globals' => array('admin_skin' => '%admin_skin%')), array()) in ParameterBag.php line 175
at ParameterBag->resolveValue(array(array('form' => array('resources' => array('AvanzuAdminThemeBundle:layout:form-theme.html.twig')), 'globals' => array('admin_theme' => '@avanzu_admin_theme.theme_manager')), array('debug' => '%kernel.debug%', 'strict_variables' => '%kernel.debug%', 'globals' => array('admin_skin' => '%admin_skin%')))) in MergeExtensionConfigurationPass.php line 45
at MergeExtensionConfigurationPass->process(object(ContainerBuilder)) in MergeExtensionConfigurationPass.php line 39
at MergeExtensionConfigurationPass->process(object(ContainerBuilder)) in Compiler.php line 107
at Compiler->compile(object(ContainerBuilder)) in ContainerBuilder.php line 589
at ContainerBuilder->compile() in Kernel.php line 511
at Kernel->initializeContainer() in Kernel.php line 133
at Kernel->boot() in Kernel.php line 182
at Kernel->handle(object(Request)) in app_dev.php line 30

这在 Symfony 2.8 中有所改变,我不知道?我在这里错过了什么吗?我的错误在哪里?

如果我app/config/config.yml按如下方式直接设置值,则它可以工作:

twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
    globals:
        admin_skin: skin-blue-light
4

0 回答 0