我有一个 JTwig(Java 风格的树枝)模板,比如
SomeMagazine.twig:
bla bla bla, and I quote:
{% block quote %}
{% endblock%}
and some more bla bla bla and so on
调用这个的子模板看起来像:
MagQuote.twig:
{% extends 'SomeMagazine.twig' %}
{% block quote %}
{% include 'QuotAuthTemplate.twig' with { auth : quote.author } %}
{% include 'QuotTextTemplate.twig' with { qtxt : quote.content } %}
{% endblock %}
- 我想
quote
在开始时使用 1 个选项卡获取块的所有内容 - 请注意,我不能在它们中添加标签,
MagQuote.twig
因为它是由其他模板组成的,因此标签模板包含只会标签整个其他模板的第一个标签 特别是对于 JTwig,我尝试创建自己的函数来选项卡内容(
SimpleJtwigFunction
,并将其添加到EnvironmentConfiguration
at 模板实例化),但我无法弄清楚如何在模板内容上调用它,因为- 我不能(不知道如何)将它们保存在一个变量中,以便我可以在它上面调用我的方法;这个
{% set 'tmpltCnt' = {% include ...
和这个{% set 'tmpltCnt' = include ...
语法都不起作用(我找不到它) - 我无法在
QuotAuthTemplate.twig
和QuotTextTemplate.twig
因为它们在其他不需要标签的地方使用它们的内容... - 我不能(不知道如何)通过包含本身调用该函数;这个
{{ myTabbingMthd({% include ...
和这个{{ myTabbingMthd(include ...
语法都不起作用(我找不到它)
- 我不能(不知道如何)将它们保存在一个变量中,以便我可以在它上面调用我的方法;这个
也许只是在这里遵循错误的方法?...
回答(有点……)
迄今为止最好的解决方案是添加一些“标签”;一个独特的字符串,我以后可以使用它进行模式匹配,以便以后逐行执行制表符并将其替换在删除标签的结果字符串上......仍然希望有人想出更好的东西......
此解决方案的问题
如果您碰巧需要(就像我一样)在另一个块中有一个缩进块,那么模式匹配会变得混乱,要求您为每个块定义不同的标签,否则在类似情况下查看其他答案