我想要一些简单的树枝标签,允许我执行以下操作:
{% customtag 'name' %}
<div> some html </div>
{% endcustomtag %}
然后在服务中获取该 html。
我自己尝试过这样做,但是当我终于在我的 NodeVisitor 中拥有我想要的所有数据时,我似乎无法将其提供给我的服务。如果我注入它并对其调用方法,它永远不会被执行。仅当我尝试从命令行清除缓存时,才会调用它。
有人可以给出一些见解吗?
显然,您可以从Twig_Template访问您的扩展。
所以你可以做到:
$compiler->write('$this->extensions[')
->string('your_extension')
->write(']->getService()->someFunction();')
->raw(PHP_EOL);
在您的树枝节点中。然后在扩展中,您应该注入服务并以getService
方法返回它。