在twig扩展中获取模板名称

时间:2015-03-15 01:13:23

标签: php symfony twig

是否可以获取在twig扩展中调用方法的模板的名称?

示例:

private $templateInUse;

public function __construct(){
    $templateInUse = $this->someMagicalFunction();
}

/**
 * {@inheritdoc}
 */
public function getName() {
    return 'twig_extension';
}

public function getTokenParsers()
{
    return array(new TokenParser($this->templateInUse));
}

最终会产生some:file:path.html.twig

的输出

1 个答案:

答案 0 :(得分:0)

事实证明,您可以从流本身获取模板名称。

class FooTokenParser extends Twig_TokenParser
{

    public function parse(Twig_Token $token)
    {

        $this->parser->getStream()->getFilename();
    }
}