Twig как получить html между двумя тегами в сервисе - PullRequest
0 голосов
/ 27 августа 2018

Я хочу несколько простых тегов веток, которые позволят мне сделать следующее:

{% customtag 'name' %}
  <div> some html </div>
{% endcustomtag %}

И затем получить этот HTML внутри службы.

Я пытался сделать это сам, но когдаНаконец-то у меня есть все данные, которые мне нужны, в моем NodeVisitor, и я не могу получить их в свой сервис.Если я внедряю его и вызываю метод, он никогда не выполняется.Он вызывается только в том случае, если я пытаюсь очистить кэш из командной строки.

Может кто-нибудь подсказать, пожалуйста?

1 Ответ

0 голосов
/ 28 августа 2018

Очевидно, вы можете получить доступ к своим расширениям из Twig_Template.

Таким образом, вы можете сделать:

$compiler->write('$this->extensions[')
  ->string('your_extension')
  ->write(']->getService()->someFunction();')
  ->raw(PHP_EOL);

в вашем узле ветки.И тогда в вашем расширении вы должны просто внедрить сервис и вернуть его методом getService.

...