是否可以在Twig中轻松更改(或提供别名)内置标记名称?例如,我希望能够在我的模板中使用slot
而不是block
这个词(例如{% slot mypage %}{% endslot %}
而不是{% block mypage %}{% endblock %}
)。
此页面:http://twig.sensiolabs.org/doc/recipes.html#customizing-the-syntax ...显示如何轻松更改标记标记({%
和%}
),但我想更改实际标记 name < / em>的。这可能吗?
答案 0 :(得分:1)
我没有对其进行测试,但您应该定义扩展Twig_TokenParser_Block
的自定义tag并覆盖方法decideBlockEnd
和getTag
。
public function decideBlockEnd(Twig_Token $token)
{
return $token->test('endslot');
}
public function getTag()
{
return 'slot';
}
也许有必要使用自定义Twig_Node
类型。
之后,您需要创建并注册twig extension。