如何使用 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 之前更改您的数据,这样您就可以在模板中做尽可能少的逻辑。
+-----------+-----------+
| 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 之前更改您的数据,这样您就可以在模板中做尽可能少的逻辑。