Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
exlends
Категории
  1. Home
  2. Categories
  3. CMS
  4. MODX
  5. msGallery ограниченный вывод превью

msGallery ограниченный вывод превью

Scheduled Pinned Locked Moved MODX
modxfenom
1 Posts 1 Posters 6 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • kirilljsxK Online
    kirilljsxK Online
    kirilljsx
    js
    wrote last edited by
    #1

    Снимок экрана 2025-08-26 в 13.53.45.png

    Появилась задача сделать вывод превью под основной каруселью товаров до 3-х итемов.

    Вот основной чанк tpl.msGallery, в моем случае он переделан, у вас он может выглядеть по дефолту.

    <div class="product-slider productSticky">
      <div class="product-slider__slides">
        {if $files?} {foreach $files as $file}
        <img
          class="product-slider__image"
          src="{$file['url']}"
          alt="[[*pagetitle]]"
        />
        {/foreach} {/if}
      </div>
      <div class="product-slider__preview">
        <!-- Вот необходимый код для вывод превью -->
        {if $files && is_array($files)}
            {var $count = 0}
            {foreach $files as $file}
                {if $count < 3 && !empty($file['url'])}
                    <img
                        class="product-slider__image-preview"
                        src="{$file['url']}"
                        alt="[[*pagetitle]]"
                    />
                    {var $count = $count + 1}
                {/if}
            {/foreach}
        {/if}
        <!-- Вот необходимый код для вывод превью -->
      </div>
      <button class="product-slider__btn product-slider__btn_prev">️</button>
      <button class="product-slider__btn product-slider__btn_next">️</button>
    </div>
    

    Что мы тут делаем, проверяем является ли $files массивов - {if $files && is_array($files)}, если все ок то далее создаем переменную {var $count = 0} далее по стандарту используем метод перебор массива {foreach $files as $file}.

    Далее делаем проверку на количество что бы переменная$count не была больше 3-х
    {if $count < 3 && !empty($file['url'])}
    При при каждой итерации (перебор массива) прибавляем значение переменной {var $count = $count + 1}

    Вот и все, теперь у нас в превью под основной каруселью будет выводиться максимум 3.

    1 Reply Last reply
    0

    Категории

    • Главная
    • Новости
    • Фронтенд
    • Бекенд
    • Языки программирования

    Контакты

    • Сотрудничество
    • info@exlends.com
    • Наш чат
    • Наш ТГ канал

    © 2024 - 2025 ExLends, Inc. Все права защищены.

    Политика конфиденциальности
    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups