Рассмотрим возможность создания слайдшоу используя плагин slick. Важной особенностью будет то, что администратор будет иметь возможность добавления, удаления слайдов, а также сможет производить настройки функционала самого слайдера. Для этого мы будем использовать “секции” и “блоки секций”.
1.Подключение
Для разработки темы используется шаблонизатор slate, поэтому структура проекта может отличаться от вашей.
Идем на сайт разработчика разработчика и качаем архив с плагином, подключаем стили и js.
При подключении стилей я использовал SCSS файлы, которые разместил по пути src/styles/modules/ и подключил в файле styles/theme.scss.
Js размещен по пути src/scripts/vendor/ и подключен в файле src/scripts/vendor.js
В такой же способ была подключена Jquery.
Инициацию слайдера выполним в самом файле секции используя liquid тег для javascript
Это базовая настройка, остальное будем конфигурировать из админ.части темы.
2. Структура
Как уже ранее писал слайдер у нас будет выводиться секцией, с возможностью динамического добавления слайдов и настройкой самого функционала. Поэтому иду по пути src/sections/ и создаю файл секции page-slider.liquid.
Структура слайдера самая обычная
div с классом slider_wrap у нас будет родительским элементом Slick слайдера и именно там мы выводим заполнители в атрибуте data-slick с помощью которых мы будем передавать значения конфигурации самого слайдера.
Все что мы обернули в liquid тег for block in section.blocks является контентным содержимым наших слайдов.
Конфигурацию нашей секции мы зададим в JSON который поместим в тег schema
В верхней части у нас будет массив конфигурации слайдера, а ниже мы расположим массив настроек для блока наших слайдов. На выходе имеем такой JSON
В итоге у нас получился динамический слайдер, где мы можем добавлять/удалять слайды, менять их порядок, добавлять нужный нам контент. Конфигурировать настройки слайдера, такие как: автоплей, интервал смены слайдов, включение/отключение стрелок и дотов.