问题描述
我正在尝试批量处理一个部分的内容,同时总是批量处理要显示的一半内容。
{% 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 %}
这行不通,因为散列键必须是带引号的字符串、数字、名称或括号中的表达式(值“{”的意外标记“标点符号”。 >
我有点坚持这个。不确定批处理是否适合使用。
解决方法
分两步做,先分配结果,然后可以使用过滤器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 %}