对于索引 "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) %}