#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 для нескольких разрешений.