Автор Тема: Slick Slider  (Прочитано 748 раз)

09 Ноябрь 2019, 00:57:20
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день.
Возникла проблема при установке Slick-слайдера.
Что сделал:
1. Загрузил файлы слайдера(css, js)
2. В head.tpl прописал
<link rel="stylesheet" type="text/css" href="/slick/slick.css"/>
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css"/>

<script src="/slick/slick.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
    $(document).on('ready', function() {
      $(".vertical-center-4").slick({
        dots: true,
        vertical: true,
        centerMode: true,
        slidesToShow: 4,
        slidesToScroll: 2
      });
      $(".vertical-center-3").slick({
        dots: true,
        vertical: true,
        centerMode: true,
        slidesToShow: 3,
        slidesToScroll: 3
      });
      $(".vertical-center-2").slick({
        dots: true,
        vertical: true,
        centerMode: true,
        slidesToShow: 2,
        slidesToScroll: 2
      });
      $(".vertical-center").slick({
        dots: true,
        vertical: true,
        centerMode: true,
      });
      $(".vertical").slick({
        dots: true,
        vertical: true,
        slidesToShow: 3,
        slidesToScroll: 3
      });
      $(".regular").slick({
        dots: true,
        infinite: true,
        slidesToShow: 3,
        slidesToScroll: 3
      });
      $(".center").slick({
        dots: true,
        infinite: true,
        centerMode: true,
        slidesToShow: 5,
        slidesToScroll: 3
      });
      $(".variable").slick({
        dots: true,
        infinite: true,
        variableWidth: true
      });
      $(".lazy").slick({
        lazyLoad: 'ondemand', // ondemand progressive anticipated
        infinite: true
      });
    });
</script>

3. Кэш отключил и включил рекомпиляцию шаблона

Обновляю страницу и не работает слайдер....
В консоли ошибок нет.

Должно работать здесь: http://a-astory.ru/content/6-lookbook

На других движках все легко ставится.
Например: http://polgreen.ru/pages/nomera-i-ceny.php#gotopid2

В чем может быть проблема?
09 Ноябрь 2019, 12:11:25
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
В страницах cms и не будет работать. Нужно сначала разрешить javascript на этих страницах.
В контроллере cms в medie подгружать slick.js и slick.css, в шаблон педавать переменные настройки слайдера и т.д.
10 Ноябрь 2019, 13:01:25
Ответ #2
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В страницах cms и не будет работать. Нужно сначала разрешить javascript на этих страницах.
В контроллере cms в medie подгружать slick.js и slick.css, в шаблон педавать переменные настройки слайдера и т.д.

Спасибо за ответ.
И если не сложно, то как все это сделать по-шагово. Версия 1.7.6.0

Но странно, что FancyBox сторонний работает.
10 Ноябрь 2019, 14:03:47
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Но странно, что FancyBox сторонний работает.
FancyBox в страницах смс не работает по дефолту. Чтобы работал переопределяют контроллер, в /override/controllers/front/CmsController.php
<?php

class CmsController extends CmsControllerCore
{
public function 
setMedia()
    {
        
parent::setMedia();

        if (
$this->assignCase == 1) {
            
$this->addJS(_THEME_JS_DIR_.'cms.js');
        }

        
$this->addCSS(_THEME_CSS_DIR_.'product.css');
    
$this->addCSS(_THEME_CSS_DIR_.'cms.css');
    
$this->addCSS(_PS_CSS_DIR_.'jquery.fancybox.css''screen');
    
$this->addJqueryPlugin('fancybox');
    
    }
}

Тоже самое можно подключения других js плагинов.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
10 Ноябрь 2019, 14:10:46
Ответ #4
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Есть способ намного проще.
По умолчанию Prestashop не может запрещать выполнение js, т.к. вся преста на js работает.
Но есть где-то, что-то что запрещает выполнение js.

Если не хотите заморачиваться за то, чтобы разрешать, нужно просто загружать свои скрипты перед закрывающимся тегом </body> в этом файле
...themes/classic/templates/layouts/layout-both-columns.tpl

Проверено. Все работает.
10 Ноябрь 2019, 14:19:14
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Проще не значит лучше. Чтобы проблем не было при обновлении, делают через переопределния. Чтобы можно было использовать функции prestashop сжатия и минификации, делают через переопределния. Чтобы не загружать по 10 одинаковых js библиотек, делают через переопределния.
Для меня проще через
Цитировать
$this->addJqueryPlugin('fancybox');
одна строчка и все работает.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
10 Ноябрь 2019, 14:22:33
Ответ #6
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Понятно, что не лучше.
Будем попробовать...
10 Ноябрь 2019, 14:24:52
Ответ #7
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Есть же бесплатные модули, можно их взять и адаптировать под себя. Вот такой
https://www.prestashop.com/forums/topic/594556-free-module-slick-slider-homefeatured/

https://github.com/przemwl/prestashop-slick-slider-module
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!