Twig 使用细枝将数据分成两列

Twig 使用细枝将数据分成两列,twig,timber,Twig,Timber,我试图将数据分成两列 我希望有一个这样的结构: <div class="accordion"> <div class="accordion__list"> <div class="accordion__item"> <p class="accordion__text">Title</p> <div class="accordion__content">

我试图将数据分成两列

我希望有一个这样的结构:

<div class="accordion">
    <div class="accordion__list">
        <div class="accordion__item">
            <p class="accordion__text">Title</p>
            <div class="accordion__content">
                <p>Content</p>
            </div>
        </div>
        <div class="accordion__item">
            <p class="accordion__text">Title</p>
            <div class="accordion__content">
                <p>Content</p>
            </div>
        </div>
    </div>
    <div class="accordion__list">
        <div class="accordion__item">
            <p class="accordion__text">Title</p>
            <div class="accordion__content">
                <p>Content</p>
            </div>
        </div>
    </div>
</div>
但那是不可行的。每次我在2列中输入偶数,列表中的最后一项将替换最后一列中的最后一项

这里是我的问题的一个例子

我想要这个:


为什么不循环收集两次呢?这样容易多了

{% set items = ['item1', 'item2', 'item3', 'item4', 'item5', ] %}

<div class="half">
{% for item in items %}
    {% if not loop.index is even %}
    <div >{{ item }}</div>
    {% endif %}
{% endfor %}
</div>
<div class="half">
{% for item in items %}
    {% if loop.index is even %}
    <div >{{ item }}</div>
    {% endif %}
{% endfor %}
</div>
{%set items=['item1','item2','item3','item4','item5',]%}
{items%%中的项的%s}
{%if not loop.index为偶数%}
{{item}}
{%endif%}
{%endfor%}
{items%%中的项的%s}
{%如果loop.index是偶数%}
{{item}}
{%endif%}
{%endfor%}

为什么不循环收集两次呢?这样容易多了

{% set items = ['item1', 'item2', 'item3', 'item4', 'item5', ] %}

<div class="half">
{% for item in items %}
    {% if not loop.index is even %}
    <div >{{ item }}</div>
    {% endif %}
{% endfor %}
</div>
<div class="half">
{% for item in items %}
    {% if loop.index is even %}
    <div >{{ item }}</div>
    {% endif %}
{% endfor %}
</div>
{%set items=['item1','item2','item3','item4','item5',]%}
{items%%中的项的%s}
{%if not loop.index为偶数%}
{{item}}
{%endif%}
{%endfor%}
{items%%中的项的%s}
{%如果loop.index是偶数%}
{{item}}
{%endif%}
{%endfor%}

我会用css而不是木材来解决这个问题。只需将其制作成一个列表,使用宽度为50%的内联块即可

. accordion {
    position: relative;
}
. accordion__list {
    display: inline-block;
}

还是太简单了?

我会用css而不是木材来解决这个问题。只需将其制作成一个列表,使用宽度为50%的内联块即可

. accordion {
    position: relative;
}
. accordion__list {
    display: inline-block;
}

还是太简单了?

不要使用两个循环,您可以考虑性能

  {% set firstHalf = "" %}
    {% set secondHalf = "" %}

    {% for item in items %}
        {% if loop.index is odd %}
           {% set firstHalf %}{{ firstHalf }} <div >{{ item }}</div> {% endset %}
        {% else %}
           {% set secondHalf %}{{ secondHalf }} <div >{{ item }}</div> {% endset %}
        {% endif %}
    {% endfor %}

    <div>
       {{ firstHalf }}
    </div>
    <div>
       {{ secondHalf }}
    </div>
{%set firstHalf=”“%}
{%set secondHalf=”“%}
{items%%中的项的%s}
{%if loop.index为奇数%}
{%set firstHalf%}{{firstHalf}{{item}}{%endset%}
{%else%}
{%set secondHalf%}{{secondHalf}}{{item}}{%endset%}
{%endif%}
{%endfor%}
{{firstHalf}}
{{secondHalf}}

不要使用两个循环,您可以考虑性能

  {% set firstHalf = "" %}
    {% set secondHalf = "" %}

    {% for item in items %}
        {% if loop.index is odd %}
           {% set firstHalf %}{{ firstHalf }} <div >{{ item }}</div> {% endset %}
        {% else %}
           {% set secondHalf %}{{ secondHalf }} <div >{{ item }}</div> {% endset %}
        {% endif %}
    {% endfor %}

    <div>
       {{ firstHalf }}
    </div>
    <div>
       {{ secondHalf }}
    </div>
{%set firstHalf=”“%}
{%set secondHalf=”“%}
{items%%中的项的%s}
{%if loop.index为奇数%}
{%set firstHalf%}{{firstHalf}{{item}}{%endset%}
{%else%}
{%set secondHalf%}{{secondHalf}}{{item}}{%endset%}
{%endif%}
{%endfor%}
{{firstHalf}}
{{secondHalf}}

我不是每个项目只有一个信息。我有一个标题和一条短信你不明白吗?这只是一个如何做到这一点的例子。没有任何东西阻止您将模板应用于此逻辑我没有每个项目只有一个信息。我有一个标题和一条短信你不明白吗?这只是一个如何做到这一点的例子。没有任何东西阻止您将模板应用于此逻辑