Loops 在每个3d元素细枝循环后添加div,模数
大家好,我有这个小树枝循环,我需要在每3个元素之后添加一些html来关闭div行并打开新的一行 我尝试了这个网站上的各种片段,但没有一个成功Loops 在每个3d元素细枝循环后添加div,模数,loops,twig,modulus,Loops,Twig,Modulus,大家好,我有这个小树枝循环,我需要在每3个元素之后添加一些html来关闭div行并打开新的一行 我尝试了这个网站上的各种片段,但没有一个成功 <div class="row"> {% for date, date_info in dates %} <div class="col-sm-4"> <div class="event-box"> {% for category in da
<div class="row">
{% for date, date_info in dates %}
<div class="col-sm-4">
<div class="event-box">
{% for category in date_info.events %}
{% for event in category %}
<div class="event-header">
{% if event.get_runtime( 'content_img_url' ) is empty %}
{{ event | avatar( [
'post_thumbnail',
'location_avatar',
'category_avatar'
]) | raw }}
{% endif %}
<div class="event-date">
{{ date | month }}
{{ date | day }}
</div>
<div class="event-footer">
<h3>{{ event.get_runtime( 'filtered_title' ) | raw }}</h3>
<div class="event-time">
{{ event | timespan( 'short' ) | raw }}...
</div>
<div class="event-content"> {{ event.get_runtime( 'filtered_content' ) | slice(0,200) | raw }}</div>
<a class="btn btn-success" href="{{ event.get_runtime( 'instance_permalink' ) | e('html_attr') }}">
{{ text_read_more }}
</a>
</div>
</div>
{% endfor %} {# event in category #}
{% endfor %} {# category in date_info.events #}
</div>
</div>
{% endfor %} {# date, date_info in dates #}
</div>
{%表示日期,日期信息在日期%}
{date_info.events%}中类别的%
{%类别中的事件为%}
{%if event.get_runtime('content_img_url')为空%}
{{事件|化身([
“post_缩略图”,
“位置与化身”,
“类别_化身”
])|生的}
{%endif%}
{{日期|月份}
{{date | day}
{{event.get_runtime('filtered_title')|raw}
{{event | timespan('short')| raw}}。。。
{{event.get_runtime('filtered_content')| slice(0200)| raw}
{%endfor%}{#类别中的事件#}
{%endfor%}{{date_info.events中的类别}
{%endfor%}{{#日期,日期中的日期信息}
阅读本文件时:
我将尝试这种代码:
{% for date, date_info in dates %}
{% if loop.index % 3 == 0 %}
{# put your code to close your div #}
{% endif %}
{% endfor %}
如果loop.index可被(3)整除而不是loop.last%},则使用{% 下面是我的完整工作代码示例:
<div class="row">
{% for date, date_info in dates %}
<div class="col-sm-4">
<div class="event-box">
{% for category in date_info.events %}
{% for event in category %}
<div class="event-header">
{% if event.get_runtime( 'content_img_url' ) is empty %}
{{ event | avatar( [
'post_thumbnail',
'location_avatar',
'category_avatar'
]) | raw }}
{% endif %}
<div class="event-date">
{{ date | month }}
{{ date | day }}
</div>
<div class="event-footer">
<h3>{{ event.get_runtime( 'filtered_title' ) | raw }}</h3>
<div class="event-time">
{{ event | timespan( 'short' ) | raw }}...
</div>
<div class="event-content"> {{ event.get_runtime( 'filtered_content' ) | slice(0,200) | raw }}</div>
<a class="btn btn-success"
href="{{ event.get_runtime( 'instance_permalink' ) | e('html_attr') }}">
{{ text_read_more }}
</a>
</div>
</div>
{% endfor %} {# event in category #}
{% endfor %} {# category in date_info.events #}
</div>
</div>
{% if loop.index is divisibleby(3) and not loop.last %}
</div>
<div class="row">
{% endif %}
{% endfor %} {# date, date_info in dates #}
</div>
{%表示日期,日期信息在日期%}
{date_info.events%}中类别的%
{%类别中的事件为%}
{%if event.get_runtime('content_img_url')为空%}
{{事件|化身([
“post_缩略图”,
“位置与化身”,
“类别_化身”
])|生的}
{%endif%}
{{日期|月份}
{{date | day}
{{event.get_runtime('filtered_title')|raw}
{{event | timespan('short')| raw}}。。。
{{event.get_runtime('filtered_content')| slice(0200)| raw}
{%endfor%}{#类别中的事件#}
{%endfor%}{{date_info.events中的类别}
{%如果loop.index可被(3)整除,而不是loop.last%}
{%endif%}
{%endfor%}{{#日期,日期中的日期信息}
您可以改用过滤器(1.12.3中新增)
我认为这是更好的解决方案:
{% for date, date_info in dates %}
{% if loop.first %}
<div class="row"> {# open row #}
{% endif %}
{# your code here #}
{% if loop.index % 3 == 0 %}
</div><div class="row"> {# after 3 iterates close row and open new #}
{% endif %}
{% if loop.last %}
</div> {# close last row #}
{% endif %}
{% endfor %}
{%表示日期,日期\日期%中的信息}
{%if loop.first%}
{开放行}
{%endif%}
{#您的代码在这里#}
{%if loop.index%3==0%}
{#3次迭代后关闭行并打开新#}
{%endif%}
{%if loop.last%}
{关闭最后一行}
{%endif%}
{%endfor%}
我没有看到任何尝试。您是否尝试了批处理过滤器?您的问题太长,无法回答您的问题。请考虑缩短它。完整的HTML代码片段似乎没有必要。@benedict\u w谢谢^^我认为这不完全正确。如果您有3个项目,这将使“”打开。您应该在循环外关闭div,并在“if条件”中添加“and not loop.last”以防止出现这种情况。这个答案可能很好,但您能否添加一个解释,说明它在做什么以及为什么它可能解决OPs问题?代码是不言自明的,这是一个更好的答案。是的!这是惊人的和伟大的作品。更有用。这是一个很好的解决方案。
{% for date, date_info in dates %}
{% if loop.first %}
<div class="row"> {# open row #}
{% endif %}
{# your code here #}
{% if loop.index % 3 == 0 %}
</div><div class="row"> {# after 3 iterates close row and open new #}
{% endif %}
{% if loop.last %}
</div> {# close last row #}
{% endif %}
{% endfor %}