Группировка элементов Twig на основе разрешения

#javascript #css #drupal #twig

#javascript #css #drupal #веточка

Вопрос:

У меня есть цикл for, который перебирает divs и группирует их с помощью batch, размер моей группировки должен изменяться в зависимости от разрешения, поэтому в мобильном пакете должно быть 1, а на рабочем столе — 4 с увеличением разрешений.

Как я могу добиться этого в twig / drupal?

 {% for column in items|batch(4) %}
                <div {{ attributes.addClass('swiper-slide').removeClass(classes, 'field--items', 'swiper-wrapper') }}>
                    {% for item in column %}
                        <div{{ item.attributes.addClass('field--item') }}>{{ item.content }}</div>
                    {% endfor %}
                </div>
            {% endfor %}
  

Комментарии:

1. Вы этого не сделаете, вы бы прибегли к CSS и, в частности, к mediaqueries

Ответ №1:

Twig работает на стороне сервера, он не может знать разрешение устройства. Вы могли бы использовать библиотеку для определения устройства пользователя по их User-Agent в заголовке запроса, например http://mobiledetect.net


Если вы работаете над адаптивным проектом, рассмотрите возможность использования запросов CSS @media для нескольких разрешений.