Выполнение кода в зависимости от кол-ва картинок
Всем привет. Мож задачка слишком простая, но не могу найти ответ на эту тему. Задачка следующая.
Есть страница товара и состоит из двух частей. Верхняя половина — это вывод картинок из галереи MiniShop2 (msGallery). Нижняя половина (под блоком с картинками) — блок с описанием товара.
Если у товара больше 1 картинки в галерее, то первую выводить над блоком с описанием, а остальные — в блоке с текстом (описание). Или наоборот — картинку 1 в блоке с описанием, а 2, 3, 4 и остальные — над блоком.
Иначе если картинка одна в галерее — выводить картинку над описанием, а сам блок полностью заполняет текст.
Есть страница товара и состоит из двух частей. Верхняя половина — это вывод картинок из галереи MiniShop2 (msGallery). Нижняя половина (под блоком с картинками) — блок с описанием товара.
Если у товара больше 1 картинки в галерее, то первую выводить над блоком с описанием, а остальные — в блоке с текстом (описание). Или наоборот — картинку 1 в блоке с описанием, а 2, 3, 4 и остальные — над блоком.
картинка 1
текст (описание) | картинка 2
Иначе если картинка одна в галерее — выводить картинку над описанием, а сам блок полностью заполняет текст.
картинка 1
блок с описанием
Первое что пришло на ум — это проверять длину массива с картинками галереи. Что то типа {if $files > 1 }
Помню в документации или в инете находил, что можно как то обращаться к конкретному изображению галереи. Что то типа [[+img.0]], но у меня это не сработало. Как это реализовывается? Комментарии: 7
А вы доку читали? ЧАнки родные смотрели? Или сразу сюда написали?
Доку по minishop2 читал, но особо ничего такого не нашёл, либо пока не разобрался. Про параметр &limit и &offset я знаю, но, думаю, они не подходят. Хотя нашёл про &toSeparatePlaceholders. Думаю, это оно
Не очень понимаю причём тут limit, offset и разделение на плейсхолдеры. У вас есть массив фотографий, нудно проверить его длину и в зависимости от количества ставить блоку-обёртке класс например reverse. Сам блок-обёртку сделать display:flex;flex-direction:column. Если она имеет класс reverse, меняете порядок элементов на обратный. Аналогично сделать в блоке с текстом, только не менять порядок, а скрывать фотки.
Если вы знаете php, то на феноме, должны знать как проверяется порядковый номер фотки.
Опишу направление для вас:
Вам нужно при переборе $files массива для 1й итерации вывести одно оформление, при остальных — другое.
Как, это делается по синтаксису — можно найти.
Если вы в программировании вообще 0, то начните с самых основ php, MODX Парсера, fenom синтаксиса.
Вроде даже в стандартных чанках минишопа есть небольшие ответы на некоторые вопросы.
Опишу направление для вас:
Вам нужно при переборе $files массива для 1й итерации вывести одно оформление, при остальных — другое.
Как, это делается по синтаксису — можно найти.
Если вы в программировании вообще 0, то начните с самых основ php, MODX Парсера, fenom синтаксиса.
Вроде даже в стандартных чанках минишопа есть небольшие ответы на некоторые вопросы.
Насчёт php — я почему то думал, что там $files.length отвечает за вычисление длины массива, но оказалось, что в документации по php немного не так. В общем, попробую
Простейшая задача
Почитайте разные сайты где описывается феном, просто прочитайте каждый блок, потом будет проще делать всё, вот один из сайтов
Почитайте разные сайты где описывается феном, просто прочитайте каждый блок, потом будет проще делать всё, вот один из сайтов
{set $productPicturesLength = $files | len}
{if $productPicturesLength > 1}
Тут галерея
{else}
иначе тут просто 1 фото
{/if}
а, хорошо. Спасибо за совет. Попробую.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.