首页 > 解决方案 > 我如何使用与使用 twig 的查询的迭代相关的批处理?

问题描述

我正在尝试批量处理一个部分的内容,同时始终批量处理要显示的量的一半。

{% for entry in craft.entries.section('bilder').datum(['and', '>= 2019-01-01', '< 2019-12-31']).limit(-1)|batch({{loop.length/2}})%}
       <div class="column" id="verstecken">
           {% for value in entry %}
               {% set bild = value.bild.one() %}
               <img src="{{ bild.url }}" alt="{{ value.title }}">
           {% endfor %}
       </div>
{% endfor %}

这不会起作用,因为哈希键必须是带引号的字符串、数字、名称或括在括号中的表达式(值“{”的意外标记“标点符号”。

我有点坚持这个。不确定批次是否甚至可以使用。

标签: twigcraftcms

解决方案


分两步进行,首先分配结果,然后您可以使用过滤器length,例如

{% set records = craft.entries.section('bilder').datum(['and', '>= 2019-01-01', '< 2019-12-31']).limit(-1) %}

{% for entries in records|batch(records|length/2 %}
    {% for entry in entries %}
        ...
    {% endfor %}
{% endfor %}

演示


推荐阅读