我使用Twig
1.31 Symfony
2.8项目的工作,我想通过创建一个扩展的自定义标签添加到Twig
:如何使用缓存定制的树枝延伸
class AppExtension extends \Twig_Extension {
...
public function getTokenParsers() {
return array(new CustomTagTokenParser());
}
}
class CustomTagTokenParser extends \Twig_TokenParser {
...
public function parse(Twig_Token $token) {
return new CustomTagNode(...);
}
public function getTag() {
return `customtag`:
}
}
class CustomTagNode extends \Twig_Node {
...
}
现在我可以使用在customtag
内我的模板:
{# some Twig template #}
{% customtag %}
...some content...
{% endcustomtag %}
这一切工作正常,我可以改变some content
内支线。然而,这是在渲染模板/加载页面时完成的。
由于some content
(以及由扩展创建的更新结果)是静态的,因此可以轻松进行缓存。
如何将扩展/标记更新为仅在构建缓存时运行一次而不是在每次页面加载时运行一次?