Вывод разного количества элементов в каждой строке row через views

Аватар пользователя noobja noobja 14 января в 22:10

Сердечно всех приветствую, друзья!
Пытаюсь найти решение одной проблемы, но никак не выходит. Буду рад ЛЮБОЙ помощи.

К делу:

Drupal 8. Существует тип материала. Созданы сами материалы в количестве 12 штук. Через Views эти материалы могут быть выведены Сеткой, например, 4 строки (row) по 3 элемента (col), 3 строки (row) по 4 элемента (col) и т.д. Но встал вопрос, а что если необходимо вывести неодинаковое количество элементов (col) в каждой строке (row).

К примеру, потребуется чередовать так: 1 строка (row) - 2 элемента (col), 2 строка (row) - 3 элемента (col), 3 строка (row) - 2 элемента (col) и т.д. Нечётные строки - 2 элемента, Чётные строки - 3 элемента.

Пример кода:

<div class="row">
    <div>one</div>
    <div>two</div>
</div>
<div class="row">
    <div> three </div>
    <div> four </div>
    <div>five</div>
</div>
<div class="row">
    <div>six</div>
    <div>seven</div>
</div>

Гугл и Яндекс по данному вопросу молчат, что удивительно.... Несколько часов я пытался что-либо нарыть - безрезультатно....
Views из админки подобное делать не позволяет. Естественно, я пошел копать шаблоны. Шаблон "views-view-unformatted.html.twig" меня устраивает, поскольку формат отображения я выставил - "неформатированный список".

Сам код такой (неправильный)

{% for row in rows|batch(loop.index is odd ? 2 : 3) %}
      <div class="row">
                {% for column in row %}
                        <div class="col-sm-6">
                             {{- column.content -}}
                        </div>
                {% endfor %}
        </div>

{% endfor %}

Очевидно, что работать это не будет, loop.index всегда чётный. Получаю всегда 3 элемента в каждой строке.
Но тогда так, друзья? Подскажите пожалуйста. Средствами CSS знаю как решить, через Paragraphs тоже решаемо. Тут интересует именно views, хотя я буду рад совершенно любой помощи, идее, подсказке, ссылке.

Благодарю за внимание!

0 Thanks

Комментарии