我使用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
(以及由擴展創建的更新結果)是靜態的,因此可以輕鬆進行緩存。
如何將擴展/標記更新爲僅在構建緩存時運行一次而不是在每次頁面加載時運行一次?