【问题标题】:Calling php block inside other block in if statement在 if 语句中的其他块内调用 php 块
【发布时间】:2021-06-30 11:29:01
【问题描述】:

我遇到了问题。使用 swiper.js 控制箭头

<?= ($block->getData('controls') == "1") ? '<div class="swiper-button-prev swiper-button-prev-slide-<?= $_uniqid ?>"></div>
            <div class="swiper-button-next swiper-button-next-slide-<?=$_uniqid?>"></div>':'<div class="swiper-button-next swiper-button-hidden"></div>
            <div class="swiper-button-prev swiper-button-hidden"></div>'?>

我使用此代码检索使这两个 div 出现的值 1,如果值为 0,则出现其他两个 div。它运作良好,但在控件等于 1 的情况下,我的箭头不起作用,它们只是出现,但我无法与它们交互,这就是为什么

navigation: {
                nextEl: '.swiper-button-next.swiper-button-next-slide-<?= $_uniqid ?>',
                prevEl: '.swiper-button-prev.swiper-button-prev-slide-<?= $_uniqid ?>',
            },

这是我的 swipper 对象,可以与箭头进行交互。如您所见, nextEl 和 prevEl 值与 div 类相同。我认为问题出在 uniqid 上,因为在 php 块内的类中没有正确读取

【问题讨论】:

  • 你检查控制台是否有 JS 相关的错误?或通过放置静态值而不是 $_uniqid 尝试一次
  • @abhay 没有给我任何与此问题相关的错误,我认为 php 不太擅长这样做

标签: php swiper


【解决方案1】:

您的代码中似乎有语法错误。请参阅下面的更新代码。

    <?= ($block->getData('controls') == "1") ? '<div class="swiper-button-prev swiper-button-prev-slide-'.$_uniqid.'"></div>
<div class="swiper-button-next swiper-button-next-slide-'.$_uniqid.'"></div>':'<div class="swiper-button-next swiper-button-hidden"></div>
<div class="swiper-button-prev swiper-button-hidden"></div>'?>

【讨论】:

  • 请确认,这是否解决了您的问题,或者我可以通过其他方式提供更好的服务?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-10
  • 2015-04-15
  • 2014-12-14
  • 2015-02-16
  • 2013-03-20
相关资源
最近更新 更多