如何使用 Twig 制作两列 Table?

How Would like Make A Two Column Table With Twig?

+-----------+-----------+
|    12     |    16     |
+-----------+-----------+
|    13     |    17     |
+-----------+-----------+
|    14     |    18     |
+-----------+-----------+
|    15     |           |
+-----------+-----------+

如何在 twigs 文件中制作这个???

正如其他人评论的那样,确实需要多一点信息,但这可能有用:

{% set arr = [ 12, 13, 14, 15, 16 ] %}
{% set halfway = (arr|length / 2)|round %}
{% set col1 = arr|slice(0, halfway) %}
{% set col2 = arr|slice(halfway, arr|length - halfway) %}
<table>
    <tbody>
        {% for i in 0..col1|length %}
        <tr>
            <td>{{ col1[i]|default('') }}</td>
            <td>{{ col2[i]|default('') }}</td>
        </tr>
        {% endfor %}
    </tbody>
</table>

这是未经测试的,但总体思路是:

  • 将您的原始数组一分为二,每列一个
  • 遍历第一列的长度(这应该是最长的,但上面的逻辑并不能确保这一点,这是给你的练习)
  • 从每个列数组中输出一项

这并不优雅,考虑到 table 是列和行,我想问你为什么要用 table 这样做。理想情况下,您应该在数据到达 Twig 之前更改您的数据,这样您就可以在模板中做尽可能少的逻辑。