Всем добрый день! Стоит задача вывести подменю из базы данных с помощью twig, с разделением его на 3 дива. То есть, подменю должно иметь следующую структуру:
<div class="submenu">
<div>
<a href="menu.php?id=1">Подкатегория 1</a>
<a href="menu.php?id=2">Подкатегория 2</a>
<a href="menu.php?id=3">Подкатегория 3</a>
</div>
<div>
<a href="menu.php?id=4">Подкатегория 4</a>
<a href="menu.php?id=5">Подкатегория 5</a>
<a href="menu.php?id=6">Подкатегория 6</a>
</div>
<div>
<a href="menu.php?id=7">Подкатегория 7</a>
<a href="menu.php?id=8">Подкатегория 8</a>
<a href="menu.php?id=9">Подкатегория 9</a>
</div>
</div>
Каждый внутренний див прижат влево, образуя таким образом 3 колонки. Я написал код, который выводит с первого взгляда все так, как мне нужно:
{% set counter = 0 %}
{% for menu_item in menu %}
{% if counter == 0 %}
<div>
{% endif %}
<a href="/menu.php?id={{ menu_item.id }}">{{ menu_item.name }}</a>
{% set counter = counter + 1 %}
{% if counter == 3 %}
{% set counter = 0 %}
</div>
{% endif %}
{% endfor %}
{% if counter != 0 %}
</div>
{% endif %}
При добавлении еще одного подменю создается четвертый див и в него добавляется последняя ссылка, хотя внешне это выглядит, как будто ссылка добавилась в первый. Вот как это выглядит на деле:
изображение. В данном случае последние подкатегории "Новая" и "Новая 1" находятся в 4-ом диве, а должно быть, чтобы "Новая" находилась в первом, а "Новая 1" во втором. Получается, мне нужен примерно следующий алгоритм: в цикле открываем первый див - выводим в него 1-ую ссылку, закрываем, открываем второй див - выводим в него 2-ую ссылку, закрываем, открываем третий - 3-ю ссылку. А вот 4-у ссылку мы должны выводить опять в первый див, 5-ую - во второй и т.д. То есть, чтобы ссылки в итоге добавлялись построчно, а не по 3 в столбик. Не могу понять как такое реализовать.