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

Twig how to get html between two tags to a service

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

{% 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 方法中注入服务和 return 它。