对于索引 "number" 之后的每个键创建 table ,键计数器 Twig
for each key after index "number" create table , key counter Twig
我有一个包含鞋码和双号的排序列表,从一个带有 php 的 csv 文件中获取并在 Twig 中保存为一个数组。
在 twig 中,这是我之前制作 table 的代码。这里的问题是,它只能使 tables 具有 6 列,而不是更多或更少。
<div class="twp-sortiment">
{% for key in page.extensions.TwpSortiment.data %}
{% set shoeSizeArray = key.shoesize|split(',') %}
{% set sortimentArray = key.sortiment|split(',') %}
{{ sortimentArray[2] }}
<table>
<tr>
<th>{{ shoeSizeArray[3] }}</th>
<th>{{ shoeSizeArray[4] }}</th>
<th>{{ shoeSizeArray[5] }}</th>
<th>{{ shoeSizeArray[6] }}</th>
<th>{{ shoeSizeArray[7] }}</th>
<th>{{ shoeSizeArray[8] }}</th>
</tr>
<tr>
<td>{{ sortimentArray[3] }}</td>
<td>{{ sortimentArray[4] }}</td>
<td>{{ sortimentArray[5] }}</td>
<td>{{ sortimentArray[6] }}</td>
<td>{{ sortimentArray[7] }}</td>
<td>{{ sortimentArray[8] }}</td>
</tr>
</table>
{% endfor %}
</div>
如您所见,我已将行放入数组(shoeSizeArray、shoeSizeArray)。
现在我想根据索引 2 之后有多少键来创建 table,从索引 3 开始,我的 table 应该取值并增加直到它结束。所以我尝试了这个但显然不起作用,因为我缺乏关于 Twig 的知识。
<div class="twp-sortiment">
{% for key in page.extensions.TwpSortiment.data %}
{% set shoeSizeArray = key.shoesize|split(',') %}
{% set sshoeSizeArray = key.sortiment|split(',') %}
{{ sortimentArray[2] }}
<table>
<tr>
{% for key in shoeSizeArray %}
{% set counter = ( counter | default(2) ) + 1 %}
<th>{{ shoeSizeArray[counter] }}</th>
{% endfor %}
</tr>
<tr>
{% for key in sortimentArray %}
{% set counter = ( counter | default(2) ) + 1 %}
<td>{{ sortimentArray[counter] }}</td>
{% endfor %}
</tr>
</table>
{% endfor %}
</div>
这是输出:
如你所见,我得到了 3 个空的 table 列,因为我计算了每个键,但我不希望在我的“for 循环”中计算前 3 个键,现在我不得不说计算数组的键 - 3 (for till index 2: [0],[1],[2])
然后执行和为那个数量的
keyCounter的个数-3。
将切片与拆分过滤器一起使用 https://twig.symfony.com/doc/3.x/filters/slice.html
喜欢
{% set shoeSizeArray = key.shoesize|split(',')|slice(3) %}
{% set sortimentArray = key.sortiment|split(',')|slice(4) %}
我有一个包含鞋码和双号的排序列表,从一个带有 php 的 csv 文件中获取并在 Twig 中保存为一个数组。
在 twig 中,这是我之前制作 table 的代码。这里的问题是,它只能使 tables 具有 6 列,而不是更多或更少。
<div class="twp-sortiment">
{% for key in page.extensions.TwpSortiment.data %}
{% set shoeSizeArray = key.shoesize|split(',') %}
{% set sortimentArray = key.sortiment|split(',') %}
{{ sortimentArray[2] }}
<table>
<tr>
<th>{{ shoeSizeArray[3] }}</th>
<th>{{ shoeSizeArray[4] }}</th>
<th>{{ shoeSizeArray[5] }}</th>
<th>{{ shoeSizeArray[6] }}</th>
<th>{{ shoeSizeArray[7] }}</th>
<th>{{ shoeSizeArray[8] }}</th>
</tr>
<tr>
<td>{{ sortimentArray[3] }}</td>
<td>{{ sortimentArray[4] }}</td>
<td>{{ sortimentArray[5] }}</td>
<td>{{ sortimentArray[6] }}</td>
<td>{{ sortimentArray[7] }}</td>
<td>{{ sortimentArray[8] }}</td>
</tr>
</table>
{% endfor %}
</div>
如您所见,我已将行放入数组(shoeSizeArray、shoeSizeArray)。
现在我想根据索引 2 之后有多少键来创建 table,从索引 3 开始,我的 table 应该取值并增加直到它结束。所以我尝试了这个但显然不起作用,因为我缺乏关于 Twig 的知识。
<div class="twp-sortiment">
{% for key in page.extensions.TwpSortiment.data %}
{% set shoeSizeArray = key.shoesize|split(',') %}
{% set sshoeSizeArray = key.sortiment|split(',') %}
{{ sortimentArray[2] }}
<table>
<tr>
{% for key in shoeSizeArray %}
{% set counter = ( counter | default(2) ) + 1 %}
<th>{{ shoeSizeArray[counter] }}</th>
{% endfor %}
</tr>
<tr>
{% for key in sortimentArray %}
{% set counter = ( counter | default(2) ) + 1 %}
<td>{{ sortimentArray[counter] }}</td>
{% endfor %}
</tr>
</table>
{% endfor %}
</div>
这是输出:
如你所见,我得到了 3 个空的 table 列,因为我计算了每个键,但我不希望在我的“for 循环”中计算前 3 个键,现在我不得不说计算数组的键 - 3 (for till index 2: [0],[1],[2])
然后执行和为那个数量的
keyCounter的个数-3。
将切片与拆分过滤器一起使用 https://twig.symfony.com/doc/3.x/filters/slice.html
喜欢
{% set shoeSizeArray = key.shoesize|split(',')|slice(3) %}
{% set sortimentArray = key.sortiment|split(',')|slice(4) %}