我有一个类似JTwig(树枝的Java风格)的模板
SomeMagazine.twig:
int main() {
long int x=7;
long int mask=0xff;
int i,n,m;
for(i=0;i<4;i++) {
n=i;
m=7-i;
long int n8=n<<3;
long int m8= m<<3;
long int n_mask=mask<<n8;
long int m_mask=mask<<m8;
long int n_byte=((______>>n8) & ______;
long int left_over = ______;
x=left_over ______;
}
}
调用此模板的子模板类似于:
MagQuote.twig:
bla bla bla, and I quote:
{% block quote %}
{% endblock%}
and some more bla bla bla and so on
{% extends 'SomeMagazine.twig' %}
{% block quote %}
{% include 'QuotAuthTemplate.twig' with { auth : quote.author } %}
{% include 'QuotTextTemplate.twig' with { qtxt : quote.content } %}
{% endblock %}
块的所有内容quote
中对它们进行制表,因为它是由其他模板组成的,因此对包含的模板进行制表仅会对整个其他模板的第一个选项卡进行制图 专门针对JTwig ,我尝试创建自己的函数来制表符内容(MagQuote.twig
,并在模板实例化时将其添加到SimpleJtwigFunction
),但是我无法确定自
EnvironmentConfiguration
或{% set 'tmpltCnt' = {% include ...
语法都不起作用(我找不到){% set 'tmpltCnt' = include ...
和QuotAuthTemplate.twig
上制表符,因为它们在其他不需要制表符的地方使用了... QuotTextTemplate.twig
或{{ myTabbingMthd({% include ...
语法都不起作用(我找不到)也许这里只是采用了错误的方法?...
答案(有点...)
最好的解决方案是添加一些“标签” ;我以后可以将其用于模式匹配的独特字符串,以便稍后执行逐行制表并将其替换为除去标签的结果字符串...仍然希望有人提出更好的建议,因为...
此解决方案的问题
如果(恰好)我需要在另一个块中有一个缩进的块,则模式匹配将变得混乱,要求您要么为每个定义不同的标签,否则就寻找this other answer情况
答案 0 :(得分:0)
您想要的是这种东西吗,您可以在其中使用制表符(引导程序)包装模板:
{% block quote %}
<div class="panel-heading ">
<ul class="nav nav-tabs">
<li class="active">
<a data-toggle="tab" class="" role="tab" href="#tab1">Tab 1</a>
</li>
<li>
<a data-toggle="tab" class="" role="tab" href="#tab2">Tab 2</a></li>
</li>
</ul>
</div>
<div class="panel-body">
<div class="tab-content">
<div id="tab1" class="tab-pane fade in active">
{% include 'QuotAuthTemplate.twig' with { auth : quote.author } %}
</div>
<div id="tab2" class="tab-pane fade">
{% include 'QuotTextTemplate.twig' with { qtxt : quote.content } %}
</div>
</div>
</div>
{% endblock %}