Opencart 2: Cлайдер Owl Carousel в OcStore 2.1.0.2. Что делать, если слайдер не работает?
По сравнению с версиями 1.5 Opencart и OcStore получили ряд улучшений и изменений. Тем не менее, к этим новшествам надо еще и приспособиться, особенно тем, кто привык работать с более ранними версиями. Обновления не обошли стороной и всеми любимый модуль слайдера, теперь вместо старого Nivo Silder используется Owl Carousel, поэтому и настройки будут отличаться.
Подключение кода слайдера, как и прежде, осуществляется в файле /catalog/view/theme/ваша-тема/template/module/slideshow.tpl. Стоит сказать, что для карусели используется этот же слайдер, поэтому эффекты и параметры будут похожими, только редактируются они в файле /catalog/view/theme/ваша-тема/template/module/carousel.tpl
В файле мы видим следующий код:
<script type="text/javascript"><!-- $('#slideshow<?php echo $module; ?>').owlCarousel({ items: 6, autoPlay: 3000, singleItem: true, navigation: true, navigationText: ['<i class="fa fa-chevron-left fa-5x"></i>', '<i class="fa fa-chevron-right fa-5x"></i>'], pagination: true }); --></script>
Здесь можно настроить поведение и эффекты слайдера. Если обратиться к документации Owl Carousel, то сразу все станет ясно:
items - определяет количество элементов, которые будут отображаться одновременно на экране (несколько изображений подряд, как в старой карусели)
autoPlay - задает интервал времени в милисекундах, через который будет сменяться изображение в слайдере
singleItem - параметр, с помощью которого карусель превращается в слайдер, т.е. отображает только одно большое изображение
navigation - отображение стрелок влево-вправо
navigationText - текст или изображение на стрелках навигации
pagination - отображение постраничной навигации, т.е. точек внизу слайдера, которые показывают текущее положение
Кроме настроек по-умолчанию есть и другие полезные опции, которые можно включить самостоятельно, ознакомившись со списком опций в документации Owl Carousel
Например, можно включить остановку слайдера при наведении курсора мышки:
stopOnHover: true,
Не забывайте ставить запятую в конце каждой опции. Также можно настроить скорость анимации слайдера, то есть длительность эффекта смены изображений:
slideSpeed: 400,
И одна из самых интересных и полезных опций - настройка эффекта слайдера, т.е. анимации с которой сменяются изображения:
transitionStyle: "backSlide",
Со списком и демо анимаций можно ознакомиться на сайте слайдера
Но после указания типа анимации, многие сталкиваются с тем, что слайдер вообще перестает работать, либо изображения сменяются без какого-либо эффекта. Дело в том, что в текущей версии Opencart и OcStore не подключены все стили слайдера, и есть небольшой баг в скрипте слайдера.
Первым делом надо подключить стили анимаций слайдера. Это делается в файлах /catalog/controller/module/slideshow.php и /catalog/controller/module/carousel.php соответственно. Здесь надо дописать строчку
$this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/owl.transitions.css');
после
$this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/owl.carousel.css');
Также в строке $this->document->addScript('catalog/view/javascript/jquery/owl-carousel/owl.carousel.min.js'); удаляем слово "min", так как следующим шагом будет редактирование и подключение файла полного скрипта слайдера. Получаем в итоге три строки такого вида:
$this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/owl.carousel.css'); $this->document->addScript('catalog/view/javascript/jquery/owl-carousel/owl.carousel.js'); $this->document->addStyle('catalog/view/javascript/jquery/owl-carousel/owl.transitions.css');
Сохраняем файл и идем в папку /catalog/view/javascript/jquery/owl-carousel где открываем файл owl.carousel.js, в котором ищем строку:
support3d = (asSupport !== null && asSupport.length === 1);
и меняем ее на:
support3d = (asSupport !== null && asSupport.length >= 1 && asSupport.length <= 2);
Эта строка отвечает за поддержку слайдера различными браузерами, в том числе и Internet Explorer. В измененной версии поддержка будет более точной, поэтому слайдер сможет использовать все свои эффекты в современных браузерах. Сохраняем отредактированный файл, чистим кэш браузера (Ctrl+F5 или Ctrl+Shift+R) и радуемся новым эффектам слайдера. В документации говорится, что можно написать и свои эффекты для слайдера, поэтому тут можно и еще поэксперементировать.
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 0 Opencart: Скидки для пользователей, надо указывать в колонке "количество" значение, отличное от нуля! (02.07.2014)
- 0 Как оперативно создать интернет-магазин на основе шаблона OpenCart? (05.06.2014)
- 0 Opencart: Установка мета тега Keywords для главной страницы через админку (05.12.2013)
- 0 Opencart: война модулей FilterPro mega, Intelligent Product Labels, AStickers - Ajax стикеры (24.10.2013)
- 0 Opencart: Модуль Filter Product OpenCart_v1.5.x: Как скрывать недоступные опции в фильтре (23.10.2013)
- 0 Ошибка xml файла Opencart для Яндекс Маркета: <b>Notice</b>: iconv(): Detected an illegal character in input string... (04.09.2013)
- 0 Opencart: Выводить изображения подкатегорий на странице категории. (11.07.2013)
- 0 Opencart: Вывод атрибутов вместо описания в категориях. (23.10.2013)
- 0 Opencart: Обновление движка с версии 1.4.9 до 1.5.1.3! (05.02.2015)
- 0 Opencart: Вставляем имя покупателя в модуле JV_QuickOrder - быстрый заказ товара (22.04.2013)
- 0 OpenCart: Fancybox (или colorbox)+"cloud-zoom" одновременно. Значок-ссылка поверх изображения товара на просмотр в полный вид (03.06.2013)
- 0 OpenCart: Делаем шаблон растягиваемым и добавляем отступы. (10.01.2014)
- Как включить SSL и сделать редирект на HTTPS. На примере Opencart 2 (03.12.2017)
- Opencart 2: Цена за квадратный метр, за штуку и др. (05.10.2017)
- Opencart 2: Cлайдер Owl Carousel в OcStore 2.1.0.2. Что делать, если слайдер не работает? (10.05.2017) ← вы тут
- Opencart 2: Добавляем новую позицию в макет для вывода модуля (27.04.2017)
- SEO оптимизация хлебных крошек breadcrumbs в Opencart 2 (27.04.2017)
- Opencart 2: Закладки без регистрации (Wishlist without registration) (26.04.2017)
- Opencart 2: сделать разные валюты в админке и на сайте (24.04.2017)
- Opencart 2: OCMOD замена нескольких строк (12.04.2017)
- Как установить расширение в Opencart 2 (27.04.2017)
- Загрузка файлов (картинок) по ajax через форму для Opencart (04.09.2016)
- Opencart: Как не показывать какой-либо товар в списке на странице производителей? (29.07.2015)
- Порядок баннеров в Opencart (15.05.2015)
- Устанавливаем ionCube Loader на MAMP за пару минут. (06.02.2015)