В этой статье я поделюсь слайдерами, которыми пользуюсь сегодня. Уже в альфе Drupal 9. Но многие слайдеры на 8ку еще в альфе или бете. Но главное они работают.
Слайдеры делятся на два типа:
1. Слайдер одного материала. Вывод идет по полю изображения одного материала. На каждой странице свой слайдер.
ImageZoom
BxSlider
Colorbox
Слайдер материалов Field Slideshow моя статья про 7ку
Моим открытием стал слайдер Owl Carousel. Наткнулся я на него делая одностраничники в html. Пожалуй это самый лучший слайдер по функционалу. Он может листать не только картинки но и видео. Идеально работает с адаптацией. Реализация в drupal может нуждаться в кастомизации.
2. Слайдер нескольких материалов. Объединяется вывод картинок из нескольких нод и ссылается на материалы.
Чаще всего работает через Views.
Cлайдер NivoSlider для Views моя статья про 7ку
Модуль Views Slideshow
Модуль Slick
Важно! О том почему слайдеры могут работать не сразу. Это относится ко всем слайдерам как к модулям Drupal. Читать лучше если у вас что-то не работает. Главное не бояться проблем. Пусть они не отпугнут вас от использования слайдеров, а помогут в их запуске. Обычно все работает из коробки, но бывает нужно повозиться)
Причины почему слайдер не работает:
1. Проблема с библиотеками модуля и путями
В друпал 8 так же как в 7ке непредсказуемо работает подключение библиотек. С одной стороны мы можем посмотреть в отчете какие библиотеки не подгрузились. С другой стороны отчет не показывает всей картины и некоторые слайдеры не подгружают библиотек не сообщая об этом. Поэтому смотрим на работу слайдера. Если не работает скорее всего проблема в библиотеке. Некоторые слайдеры ищут библиотеку по пути /libraries не учитывая путь /sites/all/libraries . Проблема такова что можно перебирать слайдеры и думать что они не рабочие, на самом деле это не так. Качая библиотеки к слайдерам обращайте внимание на то что в папке должен лежать ****.js. Если уж совсем библиотеки не подргужаются можно попробовать дать двойную папку, иногда помогает. Например /libraries/colorbox/colorbox ; я встречал библиотеки модулей работающие из папки с версией аля /libraries/colorbox-4.8 но это уже совсем дичь и думаю вы с этим не встретитесь.
2. Проблема с jquery ядра друпала
Также в друпал 8 есть проблема с библиотекой jquery. Больше нет модуля jquery update(где можно было выбрать версию вручную) и как мне сказали программисты теперь в ядре есть самая актуальная версия. Но даже обновив вчерашнее ядро я получаю warning: Синхронный XMLHttpRequest в основном потоке является устаревшим из-за его пагубного влияния на работу конечного пользователя. Для получения дополнительной помощи обратитесь к http://xhr.spec.whatwg.org/ Что говорит что версия в ядре не самая последняя. В нашем случае это не минус, так как многие модули слайдеров не часто обновляются и устаревают.
Основной jquery.min.js находтися в ядре и он тоже влияет на работу слайдера, не считая библиотеки. Если слайдер не работает жмем F12 открываем консоль и смотрим ошибки JS.
3. Может быть наложение JS от других модулей.
Некоторые скрипты не совместимы и мешают друг другу. Это крайне редко, но может быть. Убедиться в ошибке можно по той же консоли в браузере. Устранить ошибку можно поправив использующиеся функции js модуля или отключив конфликтующий модуль.
4. Проблема с аддонами php
При установке некоторые модули могут нуждаться в отдельных библиотеках php. Чтобы убедиться что этого нет или есть смотрим логи апача по домену. В каждом случае ВНИМАТЕЛЬНО читаем инструкцию по установке. Можно пропустить мелочь и не будет работать. Слайдеров не так много, поэтому выбирать особо не приходится и нужно добиться работы конкрентого слайдера.
5. Проблема с обновлением движка Drupal
Даже работающий слайдер может перестать работать после очередного обновления движка. Также есть проблема. Например недавнее обновление движка Drupal 8 сломало работу ImageZoom. Обновление может помешать работе слайдера и даже сломать его. Если это ваш проект то не страшно. Вы поставите любой. Если проект клиента то могут быть проблемы с внешним видом, так как другие слайдеры могут не устраивать. Поэтому перед выбором слайдера постарайтесь изначально ставить тот который лучше поддерживается - чаще обновляется. Идеально если он имеет стабильную версию, а не бета или альфа.
Присылайте слайдеры которыми вы пользуетесь на 8ке. Мне правда интересно, буду брать на вооружение. По возможности добавлять в шапку.
Комментарии
Есть варианты попроще и посовременнее. Буквально на днях я написал мануал
добавил в тему
Добавил решение - Делаем слайдер Друпал 8 на Bootstrap simple carousel.
Это слайдер отдельного 3 типа - создание слайдов через модуль.
Сейчас сам пользуюсь таким. То что не получилось в Nivo Slider получилось здесь.