batchEl filtro batch agrupa elementos en lotes devolviendo una lista de listas con el número dado de elementos. Se puede proporcionar un segundo parámetro para rellenar los elementos faltantes:
{% set items = ['a', 'b', 'c', 'd'] %}
<table>
{% for row in items|batch(3, 'No item') %}
<tr>
{% for index, column in row %}
<td>{{ index }} - {{ column }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
El ejemplo anterior se renderizará como:
<table>
<tr>
<td>0 - a</td>
<td>1 - b</td>
<td>2 - c</td>
</tr>
<tr>
<td>3 - d</td>
<td>4 - No item</td>
<td>5 - No item</td>
</tr>
</table>
Si eliges establecer el tercer parámetro preserve_keys en false, las claves se reiniciarán en cada bucle.
{% set items = ['a', 'b', 'c', 'd'] %}
<table>
{% for row in items|batch(3, 'No item', false) %}
<tr>
{% for index, column in row %}
<td>{{ index }} - {{ column }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
El ejemplo anterior se renderizará como:
<table>
<tr>
<td>0 - a</td>
<td>1 - b</td>
<td>2 - c</td>
</tr>
<tr>
<td>0 - d</td>
<td>1 - No item</td>
<td>2 - No item</td>
</tr>
</table>
size: El tamaño del lote; los números fraccionarios se redondearán hacia arribafill: Se utiliza para rellenar elementos faltantespreserve_keys: Si conservar las claves o no (por defecto es true)