Кейс модификации Tilda: разные слайдеры с фото и описание для каждого варианта в карточке товара
В результате получим интересующий нас функционал: при вызове функции setSlider будет склонирован элемент слайдера из блока GL21, "очищен" от атрибутов и дополнительных слайдов, после чего он будет вставлен вместо текущего слайдера в блоке ST200. Чтобы сделать его вновь интерактивным будет вызвана функция t_sldsInit JS API Tilda, которая инициализует необходимую логику для переключения слайдов.
Теперь, когда сделана основная сложная работа по программной замене слайдера остается связать эту логику с выбором варианта товара.
3. Ассоциирование фото и описания с вариантом товара
Теперь, когда у нас есть базовый функционал для переключения слайдеров, необходимо связать его с системой вариантов товара в Tilda. Для начала разберемся, как работают варианты товара в конструкторе.
В административной панели Tilda можно задать несколько характеристик товара и их возможные значения. В нашем случае это "комплектация" и "цвет". Tilda автоматически создаст все возможные комбинации этих характеристик в карточке товара.
В отличие от решения выше, теперь будет использоваться более гибкий подход — поиск нужного блока GL21 по его названию, которое содержит информацию о варианте товара. Это избавляет нас от необходимости поддерживать специальный объект с маппингом вариантов на индексы слайдеров.
Структура названия блока GL21 выглядит следующим образом:
Например:
- "комплектация: Задний привод 500Вт; цвет: серый"
- "комплектация: Передний привод 750Вт; цвет: черный, серый"
Данная функция ищет блок GL21, название которого содержит все выбранные значения характеристик товара. Алгоритм работы следующий:
- Проходим по всем блокам GL21 на странице;
- Для каждого блока разбиваем его название на части по точке с запятой;
- Для каждой характеристики товара: находим часть названия, содержащую имя характеристики и проверяем, содержится ли выбранное значение в списке значений после двоеточия;
- Если все характеристики найдены и их значения совпадают — возвращаем этот блок.
После того как нужный блок найден, мы можем использовать его для копирования слайдера с фотографиями и обновления текста описания товара. Логика замены слайдера схожа с кодом из предыдущего параграфа.
Создадим блоки GL21 для каждого варианта:
и так далее для всех возможных комбинаций вариантов товара...
Смена слайдера при выборе варианта
Чтобы все работало автоматически, при выборе вариантов товара добавляем обработчики события change на все селекты с вариантами:
Стоит отметить некоторые важные особенности реализации:
- Поддержка множественных значений: одна характеристика может иметь несколько значений, перечисленных через запятую. Например, один блок GL21 может содержать фотографии, подходящие для нескольких цветов товара;
- Регистронезависимый поиск: поиск значений производится без учета регистра, что делает систему более устойчивой к опечаткам в названиях блоков.
Для контент-менеджера такой подход максимально удобен:
- Не надо запоминать или искать ID блоков;
- Достаточно просто правильно назвать блок GL21 в соответствии с форматом;
- Можно создавать общие наборы фотографий для нескольких вариантов товара.
4. Конечный результат
Пример того, как работает данная модификация можно посмотреть на странице магазина Медведь Электро.
Таким образом, была успешно решена задача отображения разных наборов фотографий и текста описаня для различных вариантов товара за счет расширения стандартных возможностей Tilda.
При этом для пользователя весь процесс выглядит абсолютно естественно — будто это стандартный функционал Tilda. Модификация органично встраивается в существующий интерфейс и не требует никаких дополнительных действий от пользователя.
Для контент-менеджера решение также получилось максимально удобным. Не надо запоминать никакие технические детали или ID блоков — достаточно просто правильно назвать блок GL21, указав в его названии комплектацию и цвет.
Если вам понравилась статья — поставьте лайк или напишите комментарий. Так я пойму, что подобные посты с кейсами интересны и буду писать больше таких статьей.
Если вам нужна разработка уникальной модификации или интеграция Tilda со сторонним сервисом — мое портфолио и контакты доступны по ссылке: codly.cc
А в своем блоге «Код без тайн» я периодически пишу о веб-разработке, информатике и других сферах, которые меня вдохновляют (искусственный интеллект, дизайн и многое другое).
Приятно видеть работу профессионала.
Спасибо за подробную инструкцию. По тильде очень актуально, пишите ещё.
полезно