繁体   English   中英

制表符中的所有行

[英]Tab all lines in a block

我有一个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 %}
  1. 我想在开始时使用1个选项卡获取quote块的所有内容
  2. 请注意,我无法在MagQuote.twig它们进行MagQuote.twig因为它是由其他模板组成的,因此对模板包含进行制表将仅对整个其他模板的第一个选项卡进行制表
  3. 特别是对于JTwig,我尝试创建自己的函数来制表内容( SimpleJtwigFunction ,并在模板实例化时将其添加到EnvironmentConfiguration ),但由于无法自定义模板内容,因此我不知道如何调用它

    • 我不能(不知道如何)将它们保存在变量中,以便可以在其上调用我的方法。 这个{% set 'tmpltCnt' = {% include ...或这个{% set 'tmpltCnt' = include ...语法都不起作用(我找不到它)
    • 我无法在QuotAuthTemplate.twigQuotTextTemplate.twig内容,因为它们在其他不需要标记的地方使用了...
    • 我不能(不知道如何)通过包含本身调用函数; 这个{{ myTabbingMthd({% include ...或这个{{ myTabbingMthd(include ...

也许只是在这里遵循错误的方法?

回答(有点...)

最好的解决方案是添加一些“标签” 我以后可以将其用于模式匹配的独特字符串,以便稍后执行逐行制表并将其替换为除去标签的结果字符串...仍然希望有人提出更好的建议,因为...

此解决方案的问题

如果您恰好需要(像我一样)在另一个模块中有一个缩进的块,那么模式匹配将变得混乱,要求您要么为每个定义不同的标签,否则在类似情况下寻找另一个答案

这是您想要的那种东西,您可以在其中使用选项卡(引导程序)包装模板:

{% 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 %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM