У меня есть эта функция в моем файле tile.twig, который показывает один пост на карусели. Он прекрасно работает в портретном режиме на мобильном телефоне. Мне нужно, чтобы он показывал 2 сообщения, когда он в альбомной ориентации. Но я не знаю, как это сделать в Twig / PHP вот код:
{{ fn("do_action", "render-carousel", style|default('header-carousel'), carousel_list|default("Header Carousel"), img_size|default("mobile/feed/large"), carousel_show|default(1), extra_options) }}
Мне нужно, чтобы carousel_show | default (1) был carousel_show | default (2) в ландшафтном режиме. Есть идеи
К сожалению, сложно и совсем не эффективно «сказать» PHP, что ваше устройство работает в портретном или альбомном режимах, и соответственно отобразить различные объемы HTML.
Я полагаю, что вы, вероятно, немного застряли, поскольку используете плагин для рендеринга карусели и, следовательно, не можете контролировать CSS или JS.
Если бы вы написали карусель самостоятельно. Вы бы использовали медиа-запросы в CSS:
@media (orientation: landscape) {
.carousel-slide {
width: 50%:
}
}
@media (orientation: portrait) {
.carousel-slide {
width: 100%
}
}
Вам также необходимо сообщить коду карусели, что вы поочередно отображаете один или два слайда:
if (window.matchMedia("(orientation: portrait)").matches) {
Carousel.init({startingNumberOfSlides:1})
}
if (window.matchMedia("(orientation: landscape)").matches) {
Carousel.init({startingNumberOfSlides:1})
}
Похоже, вы не сможете достичь этого эффекта с помощью плагина карусели, который вы используете.
Спасибо,
Джон
Других решений пока нет …