【问题标题】:Global variable in symfony2 to use in php templatesymfony2 中的全局变量在 php 模板中使用
【发布时间】:2014-01-30 10:06:39
【问题描述】:

我需要在 symfony2 中定义一个全局变量,然后在几个 php 模板中使用它。

我在documentation找到了如何在twig模板中使用,但是我需要如何在php模板中定义和使用。

谢谢。

【问题讨论】:

    标签: php symfony global-variables


    【解决方案1】:

    您可以在 twig 模板中定义全局变量,例如:

    # app/config/config.yml
    twig:
        # ...
        globals:
            ga_tracking: UA-xxxxx-x
    

    或者在 PHP 模板中,例如:

    // app/config/config.php
    $container->loadFromExtension('twig', array(
         // ...
         'globals' => array(
             'ga_tracking' => 'UA-xxxxx-x',
         ),
    ));
    

    然后在twig中使用:

    <p>The google tracking code is: {{ ga_tracking }}</p>
    

    或在 PHP 模板中:

    <p>The google tracking code is: <?php echo $ga_tracking; ?></p>
    

    【讨论】:

    • 谢谢,但这不起作用,因为当你说:或者它在 PHP 模板中像:...就像第一个一样。但两者都是用于树枝模板,请参阅代码中写的:'twig'
    • 只有在PHP模板中不存在变量
    【解决方案2】:

    你必须在你的配置文件中定义变量,例如:

    # app/config/config.yml
    parameters:
          foo: "bar"
    

    然后您可以从您的 PHP 模板中访问它:

    <?php echo $view->container->parameters['foo']; ?>
    

    【讨论】:

    • 谢谢,但我有这个并且 echo 不起作用,我看到调试器和变量不存在
    • 你的代码中一定有问题,它对我来说很好。您是否允许使用 php 模板引擎?您是否尝试过清除缓存?您是否访问了正确的参数名称?也许您为 prod/dev 环境设置了不同的参数?
    • 是的,谢谢,我不知道问题出在哪里,我会在我的代码中搜索,谢谢
    猜你喜欢
    • 2012-04-24
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    相关资源
    最近更新 更多