0

我的 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) 。有任何想法吗

4

1 回答 1

0

不幸的是,要“告诉” 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})
}

听起来您使用的轮播插件无法实现此效果。

谢谢,

乔恩

于 2015-11-23T21:32:14.750 回答