Twig 如何在服务的两个标签之间获取 html



我想要一些简单的树枝标签,允许我执行以下操作:

{% 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方法返回它。

最新更新