Выполнение кода в зависимости от кол-ва картинок

Всем привет. Мож задачка слишком простая, но не могу найти ответ на эту тему. Задачка следующая.

Есть страница товара и состоит из двух частей. Верхняя половина — это вывод картинок из галереи MiniShop2 (msGallery). Нижняя половина (под блоком с картинками) — блок с описанием товара.
Если у товара больше 1 картинки в галерее, то первую выводить над блоком с описанием, а остальные — в блоке с текстом (описание). Или наоборот — картинку 1 в блоке с описанием, а 2, 3, 4 и остальные — над блоком.

картинка 1

текст (описание) | картинка 2

Иначе если картинка одна в галерее — выводить картинку над описанием, а сам блок полностью заполняет текст.

картинка 1

блок с описанием
Первое что пришло на ум — это проверять длину массива с картинками галереи. Что то типа
{if $files > 1 }
Помню в документации или в инете находил, что можно как то обращаться к конкретному изображению галереи. Что то типа [[+img.0]], но у меня это не сработало. Как это реализовывается?
al1ve
15 апреля 2023, 16:38
modx.pro
344
0

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

Артур Шевченко
15 апреля 2023, 18:11
-1
А вы доку читали? ЧАнки родные смотрели? Или сразу сюда написали?
    al1ve
    15 апреля 2023, 20:26
    0
    Доку по minishop2 читал, но особо ничего такого не нашёл, либо пока не разобрался. Про параметр &limit и &offset я знаю, но, думаю, они не подходят. Хотя нашёл про &toSeparatePlaceholders. Думаю, это оно
      Артур Шевченко
      15 апреля 2023, 22:27
      +1
      Не очень понимаю причём тут limit, offset и разделение на плейсхолдеры. У вас есть массив фотографий, нудно проверить его длину и в зависимости от количества ставить блоку-обёртке класс например reverse. Сам блок-обёртку сделать display:flex;flex-direction:column. Если она имеет класс reverse, меняете порядок элементов на обратный. Аналогично сделать в блоке с текстом, только не менять порядок, а скрывать фотки.
    Алексей Смирнов
    15 апреля 2023, 22:35
    +1
    Если вы знаете php, то на феноме, должны знать как проверяется порядковый номер фотки.
    Опишу направление для вас:
    Вам нужно при переборе $files массива для 1й итерации вывести одно оформление, при остальных — другое.
    Как, это делается по синтаксису — можно найти.
    Если вы в программировании вообще 0, то начните с самых основ php, MODX Парсера, fenom синтаксиса.
    Вроде даже в стандартных чанках минишопа есть небольшие ответы на некоторые вопросы.
      al1ve
      16 апреля 2023, 09:13
      0
      Насчёт php — я почему то думал, что там $files.length отвечает за вычисление длины массива, но оказалось, что в документации по php немного не так. В общем, попробую
      Vladimir
      16 апреля 2023, 12:41
      +1
      Простейшая задача
      Почитайте разные сайты где описывается феном, просто прочитайте каждый блок, потом будет проще делать всё, вот один из сайтов
      {set $productPicturesLength = $files | len}
      
      {if $productPicturesLength > 1}
      Тут галерея
      {else}
      иначе тут просто 1 фото
      {/if}
        al1ve
        16 апреля 2023, 19:02
        0
        а, хорошо. Спасибо за совет. Попробую.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        7