mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-06 15:37:58 +00:00
fixed batch filter clobbers array keys when fill parameter is used
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
* 1.38.0 (2019-XX-XX)
|
||||
|
||||
* fixed batch filter clobbers array keys when fill parameter is used
|
||||
* added preserveKeys support for the batch filter
|
||||
* fixed "embed" support when used from "template_from_string"
|
||||
* added the possibility to pass a TemplateWrapper to Twig\Environment::load()
|
||||
|
||||
@@ -1651,7 +1651,9 @@ function twig_array_batch($items, $size, $fill = null, $preserveKeys = true)
|
||||
if (null !== $fill && $result) {
|
||||
$last = \count($result) - 1;
|
||||
if ($fillCount = $size - \count($result[$last])) {
|
||||
$result[$last] = array_merge($result[$last], array_fill(0, $fillCount, $fill));
|
||||
for ($i = 0; $i < $fillCount; $i++) {
|
||||
$result[$last][] = $fill;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
--TEST--
|
||||
"batch" filter
|
||||
--TEMPLATE--
|
||||
{% for row in items|batch(3, 'fill') %}
|
||||
<div class=row>
|
||||
{% for key, column in row %}
|
||||
<div class={{ key }}>{{ column }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
--DATA--
|
||||
return ['items' => ['a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd', '123' => 'e']]
|
||||
--EXPECT--
|
||||
<div class=row>
|
||||
<div class=a>a</div>
|
||||
<div class=b>b</div>
|
||||
<div class=c>c</div>
|
||||
</div>
|
||||
<div class=row>
|
||||
<div class=d>d</div>
|
||||
<div class=123>e</div>
|
||||
<div class=124>fill</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user