在 if 语句中调用其他块内的 php 块

Calling php block inside other block in if statement

我有问题。使用 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 class 相同。我认为问题出在 uniqid 中,因为在 php 块

内的 class 中没有被正确读取

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

    <?= ($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>'?>