我想用小树枝做一个两列表


How Would like Make A Two Column Table With Twig?

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

我怎么能使这个在树枝文件??

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

{% 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>

这是未经测试的,但一般的想法是:

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

这是不优雅的,我想问为什么你这样做一个表考虑到表是列和行。理想情况下,你会在它到达Twig之前改变你的数据,这样你在模板中做的逻辑就越少越好。