小编Fyr*_*ase的帖子

Twig_SimpleFunction可以修改上下文吗?

是否可以通过调用Twig_SimpleFunction来修改当前的twig上下文?

我注册了以下功能:

<?php
namespace Craft;

class TwiggedTwigExtension extends \Twig_Extension
{
    public function getName()
    {
      return 'Twigged';
    }

    public function getFunctions()
    {
        return array(
            'setContextVar' => new \Twig_SimpleFunction('setContextVar', array($this, 'setContextVar'), array('needs_context' => true)),
        );
    }

    public function setContextVar($context, $str, $val)
    {
        $context['context'][$str] = $val;

        var_dump(array_keys($context['context']));
    }
}
Run Code Online (Sandbox Code Playgroud)

从类似模板调用时{{ setContextVar('hellow', 'world') }},var_dump显示修改后的上下文.但是像这样快速检查模板{{ dump(_context|keys) }}并不会显示修改后的上下文.

我是以错误的方式来做这件事的吗?

php templates symfony twig

5
推荐指数
2
解决办法
1062
查看次数

标签 统计

php ×1

symfony ×1

templates ×1

twig ×1