Заставить индикаторы картинок переключаться при нажатии

Использую MIGX внутри которого несколько картинок. На странице больше одного товара. Картинки переключаются по стрелочкам все отлично, остался последний штрих — Не могу заставить индикаторы картинок переключаться при нажатии.
У каждого товара должен быть свой уникальный номер.

товар 33:
<div id="carouselExampleControls-33
должен быть уникальным на странице и равен индикатором для переключения картинок

<button type="button" data-bs-target="#carouselExampleControls-33" data-bs-slide-to="0" class="active" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleControls-33" data-bs-slide-to="1" class="" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleControls-33" data-bs-slide-to="2" class="" aria-label="Slide 3"></button>
<button type="button" data-bs-target="#carouselExampleControls-33" data-bs-slide-to="3" class="" aria-label="Slide 4"></button>

товар 34:
<div id="carouselExampleControls-34
должен быть уникальным на странице и равен индикатором для переключения картинок

<button type="button" data-bs-target="#carouselExampleControls-34" data-bs-slide-to="0" class="active" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleControls-34" data-bs-slide-to="1" class="" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleControls-34" data-bs-slide-to="2" class="" aria-label="Slide 3"></button>
<button type="button" data-bs-target="#carouselExampleControls-34" data-bs-slide-to="3" class="" aria-label="Slide 4"></button>


Чанк: tpl-personal:
<div itemscope itemtype="http://schema.org/Product" class="col-6 col-xs-4 col-sm-4 col-md-3 col-lg-3 col-xl-3 p-2 p-md-3 lh-sm tovar mb-5">
    <div id="carouselExampleControls-[[+MIGX_id]]" class="carousel slide carousel-fade" data-bs-ride="carousel" data-bs-interval="false">
        <div class="carousel-indicators">
            [[!getImageList?
                &value=`[[+gallerys]]`
                &tpl=`tplIndicator`
                &docid=`[[*id]]`
                &docIdx=`[[+idx]]`
                &migxId=`[[+MIGX_id]]` 
            ]]

Чанк: tplIndicator:
<button type="button" data-bs-target="#carouselExampleControls-[[+MIGX_id]]" data-bs-slide-to="[[+idx:subtract]]" class="[[+idx:is=`1`:then=`active`]]" aria-label="Slide [[+idx]]"></button>

проблема что не могу в data-bs-target="#carouselExampleControls-[[+MIGX_id]]" передать цифру, поэтому индикаторы "<button type=«button» не переключают картинки,

были попытки так:
[[getImageList?
        &value=`[[+gallerys]]`
        &tpl=`tplIndicator`
        &docid=`[[*id]]`
        &docIdx=`[[+idx]]`
        &myCustomParam=`[[+MIGX_id]]`  // Передаем как пользовательский параметр
    ]]
    
tplIndicator:
<div>
    ID из MIGX: [[+myCustomParam]]
</div>
не работает…
Игорь
22 января 2024, 15:24
modx.pro
185
0

Комментарии: 2

Игорь
22 января 2024, 16:43
0
Ура, нашел!

<div id="carouselExampleControls-[[+MIGX_id]]" class="carousel slide carousel-fade" data-bs-ride="carousel" data-bs-interval="false">
        <div class="carousel-indicators">
           
           
            [[!getImageList?
                &value=`[[+gallerys]]`
                
                &tpl=`tplIndicator`
                &docid=`[[*id]]`
                &docIdx=`[[+idx]]`
                &migxId=`[[+MIGX_id]]` 
                
                
          &tvname=`[[+MIGX_id]]`
               
            ]]
<button type="button" data-bs-target="#carouselExampleControls-[[+property.tvname]]"
    Игорь
    22 января 2024, 16:48
    0
    [[+fieldname]] — любое поле из конфигурации MIGX или из переданных параметров в сниппет
    [[+idx]] — порядковый номер, начиная с 1
    [[+_first]] — вернет 1, если это первая запись
    [[+_last]] — вернет 1, если это последняя запись
    [[+_alt]] — вернет 1, если это четная запись
    [[+total]] — общее число элементов (можно изменить через &totalVar)
    [[+property.name]] — выведет параметр с именем &name=`` в вызове getImageList. 
    
    Например, при вызове:
    
    [[getImageList? &tvname=`slider` &tpl=`@CODE: [[+image]]`]]
    
    плейсхолдер [[+property.tvname]] будет иметь значение «slider».
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2