2015-03-15 4 views
1

Возможно ли получить имя шаблона, вызывающего метод в расширении веточки?Получение имени шаблона в расширении веточки

Пример:

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

В общем, да: http://stackoverflow.com/questions/12656835/how-to-get-current-template-name-in-a-twig-function Но это, кажется, сложно , – kozlice

ответ

0

Как выясняется, вы можете получить имя шаблона из самого потока.

class FooTokenParser extends Twig_TokenParser 
{ 

    public function parse(Twig_Token $token) 
    { 

     $this->parser->getStream()->getFilename(); 
    } 
} 
Смежные вопросы