树枝宏+块或东西?

时间:2015-12-05 02:11:13

标签: twig

我是Twig的新手。有没有类似于Jade的混合使用嵌套块的东西? 我的意思是这样的:

mixin button(text)
  .btn
    .txt= text
    .dropdown
      block

+button("button")
  +button("sub1")
    +button("sub1-1")
    +button("sub1-2")
  +button("sub2")
    +button("sub2-1")
    .custom1 blah-blah
  +button("sub3")
    +button("sub3-1")
    +button("sub3-2")

1 个答案:

答案 0 :(得分:0)

我找到了某种解决方案。 我刚刚将宏分成了两个以上的宏。

{% __btns.twig %}
{% macro btn1_opening(text) %}
    <div class="button1">
        <div class="text">{{ text }}</div>
        <div class="dropdown">
{% endmacro %}

{% macro btn1_closing() %}
        </div>
    </div>
{% endmacro %}

{# main.twig #}
{% import "__btns.twig" as btns %}
{{ btns.btn1_opening("I am button") }}
    <div class="something-inside-dropdown">
        {% include "somefile.twig" %}
    </div>
{{ btns.btn1_closing() }}

所以,在这种情况下,即使我需要在我的宏内部有多个块,我也可以在开始,中间和结束宏之间写一些HTML。