Модуль OC 2 - Карусель рекомендуемых товаров

Модуль OC 2 - Карусель рекомендуемых товаров

Модуль сделан на основе стандартного "Featured", выводит рекомендуемые товары в виде карусели. В настройках модуля добавлена возможность выбора отображения товара (можно вывести без описания, с заменой кнопки корзины на "подробнее"). Заголовок (можно отключить) модуль получает из настроек, а не языкового файла, как это сделано по-умолчанию. Можно добавить свой CSS класс для более тонкой настройки внешнего вида.

Языки модуля - русский и английский.

Для установки модуля необходимо скопировать файлы в соответствующие каталоги на сервере, никаких замен не требуется.

Карусель рекомендуемых товаров - установка

После копирования файлов переходим в панели управления, настройка прав (Система - Пользователи - Группы - Администратор - редактировать):

настройка прав пользователей opencart

Находим и отмечаем в правах на просмотр и изменение "module/featuredcarusel", сохраняем. Дальше можно работать с модулем.

назначение прав на просмотр и изменение модуля opencart

Настройки модуля

Кроме тех настроек что остались от стандартного модуля, добавлено и изменено следующее:

  • Заголовок модуля - именно в таком виде будет выведен на сайте
  • Отображение заголовка модуля - вкл/выкл
  • Количество одновременно отображаемых товаров
  • Вид товара (отображение товара)
    • Обычный
    • Без описания
    • Без описания и заменой корзины на "подробнее"
    • Замена кнопки корзины
  • Добавление произвольного CSS класса

В итоге все это выглядит так:

Настройки модуля в панели управления

Что касается вывода модуля на сайт, в стандартном шаблоне все хорошо и красиво (тестировал с 4 одновременно отображаемыми товарами и картинкой 200*200px).

Настройки модуля в панели управления

Настройки модуля в панели управления

Настройки модуля в панели управления

Начиная с Opencart 2.3 изменилось расположение каталога модулей. Версия для OC 2.3.x - отдельно. Если уже успели скопировать файлы от предыдущей версии - нужно их удалить. Возможны проблемы

Скачать модуль (OC 2.x < 2.3)Скачать модуль (OC 2.3+)

Сказать $пасибо (это совсем не обязательно)

Добавить комментарий

Комментарии ()

  1. Владимир 13 ноября 2018, 22:321
    0

    Попробуйте в /catalog/view/theme/default/template/extension/module/featuredcarusel.tpl в вызове слайдера поменять значение параметра autoPlay на false

    autoPlay: false,
    

    1. Алексей Бубенщиков 13 ноября 2018, 19:36
      0

      Здравствуйте, спасибо большое за модуль. У нас версия 2.3. Подскажите пожалуйста, как отключить автоматическую прокрутку товаров?

      1. Дима 08 августа 2018, 13:59
        0

        Подскажите пожалуйста почему после последнего товара карусель прокручивается дальше с пустым местом, луп, автоширина и другие параметры Owl не помогают, с цсс вроде проблем тоже нет.

        1. Владимир 08 августа 2018, 21:23
          0

          Не замечал такого… может товар выбран, который уже отключен

        2. Dimi 29 июня 2018, 16:11
          0

          Как сделать чтобы модуль можно было добавлять несколько раз?

          1. Владимир 29 июня 2018, 17:16
            0

            А разве с этим есть какие то проблемы? Я добавлял, нормально было

            1. Dimi 29 июня 2018, 17:24
              0

              Я имею в виду в модулях в админке. Вместо редактирования "+" был (думаю так понятнее(:) Добавил несколько рекомендуемых и потом выводить в разных местах.

              1. Владимир 29 июня 2018, 18:12
                0

                У меня вот так:
                добавление модуля

                1. Dimi 29 июня 2018, 18:26
                  0

                  Все разобрался, это у меня ошибка была. Соррян. Спс за модуль.

          2. Алекс 28 мая 2018, 22:00
            0

            Подскажите как сделать, чтобы задавать не товары в карусель поштучно, а покатегорийно, т.е. в первой карусели отображать раздел товаров Чайники (и все что в чайниках есть туда), вторая карусель другой раздел и тд
            Что нужно поменять чтобы такого добиться?

            1. Владимир 05 июня 2018, 12:17
              0

              Для начала нужно сделать выбор категорий… поделаю сегодня, есть почти готовый вариант

              1. Алекс 06 июня 2018, 16:11
                0

                — сделать выбор категорий… поделаю сегодня
                очень удобно было бы!

                1. Владимир 09 июня 2018, 16:05
                  0

                  обновил версию для oc 2.3, теперь с выбором категории

                  1. Алекс 09 июня 2018, 16:54
                    0

                    отлично! большое спасибо

            2. Александр 18 февраля 2018, 19:14
              0

              На OpenCart 3 будет работать?

              1. Павел 30 января 2018, 13:05
                0

                Модуль шикарен!
                Вот только как сделать чтобы он отображал товары в карточке товара из той же категории в которой находится открытый товар? Вообще это возможно?

                1. Александр 30 января 2018, 02:19
                  0

                  Всем доброго времени суток! Подскажите, после установки модуля, категории падают в белый экран, что не так?

                  1. Владимир 30 января 2018, 02:52
                    0

                    А какая версия ОС и где пробуете выводить? Лог ошибок очень нужен бы

                  2. Олег 15 января 2018, 14:551
                    0

                    Редко пишу комментарии, но тут не смог сдержаться) Спасибо огромное, всё установилось без проблем, работает на ура, модуль супер!!!

                    1. Дмитрий 09 ноября 2017, 11:43
                      0

                      Добрый день уважаемый вебмастер!

                      сразу скажу, что модуль классный и удобный!
                      Не могли бы вы подсказать как и где можно исправить формулу рассчета сдвига owl-item?

                      нужно получить так: transform: translate3d (-325px, 0px, 0px);

                      В чем состоит задача:

                      1) ширина owl-item на 1300px container max-width: 295px. Адаптив.
                      2) отступ между товарами — как в остальных рядах с товаром: 30px, т.е. по 15px у каждого кроме first-child & last-child.

                      Заранее благодарю за любую помощь!

                      Хорошего вам дня,
                      Дмитрий

                      1. test 06 октября 2017, 15:12
                        0

                        Добрый день подскажите пожалуйста, как изменить сортировку товара в карусели?
                        Сейчас первым выводится тот товар который первым добавил в админке, а нужно сделать что бы первый добавленный в админке выводился последним. Заранее благодарен.

                        1. Владимир 09 октября 2017, 03:261
                          0

                          Здравствуйте! Сейчас не могу проверить, попробуйте так:
                          37 строка /catalog/controller/extension/module/featuredcarusel.php:

                          $products = array_slice($setting['product'], 0, (int)$setting['limit']);
                          Заменить на:
                          $products = array_reverse(array_slice($setting['product'], 0, (int)$setting['limit']));
                          или:
                          $products = array_slice(array_reverse($setting['product']), 0, (int)$setting['limit']);

                          1. test 12 октября 2017, 10:25
                            0

                            Спасибо, помог вариант — $products = array_reverse(array_slice($setting['product'], 0, (int)$setting['limit']));

                        2. Koshsh 03 июля 2017, 21:04
                          0

                          Спасибо, все настроил с первого раза под себя и заработало на ОС2.3, однако есть вопрос по поводу ссылок, мод делает их прямыми до товара минуя категории: сайт.ru/tovar, а надо бы так сайт.ru/category/../tovar. У меня включен стандартный ЧПУ, как то эту проблему решить можно?

                          1. Владимир 03 июля 2017, 22:35
                            0

                            А в других подобных модулях ведет на товар с категорией? если да, то лучше сделать как там, если нет — рекомендую установить seo_pro

                          2. Владимир 07 июня 2017, 18:29
                            0

                            Добрый, как все же сделать расстояние между карточками товара, сплошняком не гуд…

                            1. жора 27 мая 2017, 00:07
                              0

                              Подскажите как можно сделать следующее: использую например featured -для вывода нужных мне товаров, при этом в любом месте посреди товаров выводить нужный блок с картинкой и ссылкой куда то.
                              товар 1 товар 2
                              блок1 товар3
                              товар 4 блок 2

                              1. Дмитрий 21 апреля 2017, 04:57
                                0

                                Модуль отличный! Большое спасибо! Один вопрос, как сделать, чтобы карточки были на расстоянии друг от друга, как в стандартном модуле?

                                1. Владимир 19 апреля 2017, 02:33
                                  0

                                  Кто бы сказал, как бы поменять цвет кнопки, вывод добавления в корзину нормальный, а если ставлю подробнее, то цвет кнопки становится серым, и съезжает верстка. Кто знает как исправить. Автор, расскажи плиз ))

                                  1. Владимир 19 апреля 2017, 04:31
                                    0

                                    По-умолчанию кнопки все серые… надо видеть

                                    1. Владимир 20 апреля 2017, 14:54
                                      0

                                      Владимир, в моей ситуации решить вопрос можно?

                                      1. Владимир 21 апреля 2017, 01:57
                                        0

                                        Разобрался, спасибо ))

                                  2. Михаил 03 апреля 2017, 21:17
                                    0

                                    Поставил разрешения Админам на редактирование и просмотр — все равно доступа нет. Скажите, можно как-то обойти эту ошибку?

                                    1. Владимир 19 апреля 2017, 04:30
                                      0

                                      Добавил версию для OC 2.3. Изменилось расположение каталога модулей

                                    2. andrei 31 марта 2017, 12:46
                                      0

                                      не отображаются товары, пишет — что не достаточно прав

                                      1. Владимир 19 апреля 2017, 04:30
                                        0

                                        Добавил версию для OC 2.3

                                      2. Владимир 24 января 2017, 17:041
                                        0

                                        Модуль отличный, но у меня возникли трудности, скачет размер карточек товара.
                                        Как вылечить, кто знает, а так же прыгает цена, она не в один уровень. Спасибо за ранее )
                                        radikal.ru][img]http://s019.radikal.ru/i640/1701/14/097ccd7c32ef.jpg

                                        1. Владимир 19 апреля 2017, 04:33
                                          0

                                          По такому скрину очень сложно сказать т.к. вероятнее всего причина в наличии/отсутствии рейтинга, скидки, описания, а они как раз и не видны

                                        2. kwakin 29 ноября 2016, 09:001
                                          0

                                          как побороть
                                          opencart pro 2102
                                          шаб дефолт
                                          farat.ru.host1529840.serv66.hostland.pro/index.php?route=common/home
                                          под каруселью брендов

                                          1. Валерий 21 ноября 2016, 11:18
                                            0

                                            Добрый день. Подскажите как сделать что-бы, модуль адаптировался под разные разрешения экрана и устройства?

                                            1. Владимир 21 ноября 2016, 12:48
                                              0

                                              Посмотрите шаблон любого похожего модуля в используемой теме (latest.tpl, featured.tpl,..) и назначьте те же классы для блоков этого модуля. Возможно и структуру поменять придется

                                            2. Аркадий 16 октября 2016, 12:34
                                              0

                                              Добрый день. Как сделать вращение карусели плавным без рывков на сайте опенкарт.

                                              1. Владимир 17 октября 2016, 11:101
                                                0

                                                Более плавное вращение — без прокрутки обратно к первому слайду? Если да, то здесь используется скрипт карусели OwlCarousel v1.3.3, которая идет стандартно в опенкарт 2 и в которой такой возможности нет… можно использовать другой скрипт, но тогда его желательно прикручивать и к другим модулям, что бы не загромождать head.
                                                Если само переключение слайдов не достаточно плавное, можно добавить к параметрам вызова (внизу featuredcarusel.tpl)

                                                lazyLoad : true,
                                                Так же попробуйте добавить:
                                                transitionStyle : "fade",
                                                или
                                                transitionStyle : "scaleUp",
                                                (c transitionStyle может не заработать прокрутка… нужно проверять)

                                              2. test 11 октября 2016, 10:18
                                                0

                                                Подскажите пожалуйста сколько будет стоить переделать этот модуль под следующие задачи:
                                                — добавить возможность автоматического вывода новых товаров (не только тех которые добавляются вручную)
                                                — добавить возможность сортировки товара методом перетаскивания вверх/вниз
                                                — добавить возможность вывода определенной ссылки которая будет крепится на название модуля (тег h3)
                                                — добавить возможность указания картинки в качестве стикера (новинка, акция, хит, скидка) для всех товаров указанных в определенном модуле

                                                1. Владимир 17 октября 2016, 11:22
                                                  0

                                                  Давно планирую переделку этого модуля, но руки не доходят… когда займусь — не знаю пока. Задание не совсем понятно…
                                                  вывод новых поступлений и товаров добавленных вручную — отдельно (или новые, или выбранные)?
                                                  Что касается стикеров… для добавляемых вручную да, можно… а вот для новинок — здесь максимум что можно задать — вывод стикера «новинка» для всех, + вывод других стикеров или для всех, или, к примеру, для второго товара, без привязки к некому конкретному товару.

                                                  1. test 18 октября 2016, 07:07
                                                    0

                                                    Да, или новые или выбранные. Так можете подсказать когда ожидать?

                                                2. Николай 03 сентября 2016, 10:231
                                                  0

                                                  Владимир, добрый день! :)

                                                  Почему-то модуль листает влево на 1 раз больше нужного, в самом модуле изменял в основном стили, в скрипте изменил значение autoPlay и добавил stopOnHover, хотя и до этих изменений в js был уже такой трабл (изначально все работало правильно).

                                                  Вот тот самый трабл: pixs.ru/showimage/problemspn_1006028_23156205.png
                                                  В настройках модуля:
                                                  Лимит: 4
                                                  Количество одновременно отображаемых товаров: 4

                                                  Пробовал уменьшать кол-во отображаемых товаров с 4 до 3 — все равно захватывает пустой блок под товар. Помогите, пожалуйста, разобраться!

                                                  1. Владимир 15 сентября 2016, 02:58
                                                    0

                                                    Пробовал выставлять 4+4, другие варианты, товары из списка отключать… не получается повторить

                                                  2. sasha 29 августа 2016, 09:36
                                                    0

                                                    Привет.Как задать для этого модуля в товаре производителя. Выводится только первый производитель, т.к. нет цикла в модуле? Для last, special и др. работает без проблем, то бишь в latest.php в массив $data['products'][] = array( добавляю 'manufacturer' => $result['manufacturer'], и в latest.tpl вывожу <?php echo $product['manufacturer']; ?>. Здесь это не канает, как исправить подскажите?)

                                                    1. Владимир 01 сентября 2016, 04:57
                                                      0

                                                      Все верно, просто здесь используется не $result, а $product_info, т.е.

                                                      'manufacturer' => $product_info['manufacturer'],

                                                      1. sasha 01 сентября 2016, 05:21
                                                        0

                                                        Спасибо, помогло. Раз пошла такая пьянка, Владимир, подскажите пожалуйста как там сделать вывод скидки в процентах на товаре. Опять же на latest, special работает без проблем, а здесь ни как. Вот конструкция
                                                        в feature.php Находим:

                                                        if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                                                        $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
                                                        } else {
                                                        $price = false;
                                                        }
                                                        if ((float)$result['special']) {
                                                        $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
                                                        } else {
                                                        $special = false;
                                                        }

                                                        И меняем на:

                                                        if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                                                        $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
                                                        $price2 = $result['price'];
                                                        } else {
                                                        $price = false;
                                                        $price2 = false;
                                                        }
                                                        if ((float)$result['special']) {
                                                        $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
                                                        $special2 = $result['special'];
                                                        } else {
                                                        $special = false;
                                                        $special2 = false;
                                                        }
                                                        Затем:
                                                        $this->data['products'][] = array(
                                                        'product_id' => $result['product_id'],
                                                        'thumb' => $image,
                                                        'name' => $result['name'],
                                                        'price' => $price,
                                                        'special' => $special,
                                                        'rating' => $rating,
                                                        'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
                                                        'href' => $this->url->link('product/product', 'product_id='. $result['product_id'])
                                                        );
                                                        Меняем на:
                                                        $this->data['products'][] = array(
                                                        'product_id' => $result['product_id'],
                                                        'thumb' => $image,
                                                        'name' => $result['name'],
                                                        'price' => $price,
                                                        'price2' => $price2,
                                                        'special' => $special,
                                                        'special2' => $special2,
                                                        'rating' => $rating,
                                                        'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
                                                        'href' => $this->url->link('product/product', 'product_id='. $result['product_id'])
                                                        );
                                                        Было добавлено:
                                                        $price2 и $special2
                                                        2. Изменения в шаблоне (/catalog/view/theme/default/template/module/feature.tpl):
                                                        После:
                                                        <?php echo $product['price']; ?> <?php echo $product['special']; ?>

                                                        Добавляем:
                                                        <?php
                                                        $num[0]=$product['price2']; //Стоимость без скидки
                                                        $num[1]=$product['special2']; //Стоимость по акции
                                                        $procent=$num[0]/100;

                                                        $result=100-($num[1]/$procent); //вычисляем процент
                                                        echo round ($result); ?> % Скидка

                                                        1. sasha 01 сентября 2016, 06:45
                                                          0

                                                          а все сделал, опять же $result, поменял на $product_info. Спасибо за наводку

                                                    2. Николай 24 августа 2016, 18:11
                                                      0

                                                      Привет, подскажи как увеличить время, через которое начинается прокрутка, и было бы классно, если при наведении на товар, карусель останавливалась. Помоги, пожалуйста, реализовать это :)
                                                      С уважением, Николай!

                                                      1. Владимир 01 сентября 2016, 04:53
                                                        0

                                                        В шаблоне (/catalog/view/theme/default/template/module/featuredcarusel.tpl) есть вызов скрипта (внизу) с параметрами:

                                                        $('#prodcarousel<?php echo $module; ?>').owlCarousel({
                                                          items: <?php echo $items; ?>,
                                                          autoPlay: 3000,
                                                          navigation: true,
                                                          navigationText: ['<i class="fa fa-chevron-left fa-5x"></i>', '<i class="fa fa-chevron-right fa-5x"></i>'],
                                                          pagination: false
                                                        });
                                                        Здесь: autoPlay — скорость. так же нужно добавить параметр stopOnHover.
                                                        Как вариант:
                                                        $('#prodcarousel<?php echo $module; ?>').owlCarousel({
                                                          items: <?php echo $items; ?>,
                                                          autoPlay: 5000,
                                                          navigation: true,
                                                          navigationText: ['<i class="fa fa-chevron-left fa-5x"></i>', '<i class="fa fa-chevron-right fa-5x"></i>'],
                                                          pagination: false,
                                                          stopOnHover: true
                                                        });

                                                        1. Николай 02 сентября 2016, 17:47
                                                          0

                                                          Большое спасибо! Работает!

                                                      2. михаил 01 августа 2016, 11:42
                                                        0

                                                        спасибо.

                                                        1. phantom 15 июня 2016, 20:35
                                                          0

                                                          Добрый день.
                                                          А как этот модуль можно переделать для хитов?

                                                          1. maxxfc 01 июня 2016, 11:17
                                                            0

                                                            Подскажите, можно как-то сделать, чтоб в этой карусели были не рекомендуемые товары, а новинки?
                                                            Спасибо.

                                                            1. Данил 31 мая 2016, 18:08
                                                              0

                                                              Нельзя создать несколько разных блоков, как со стандартной каруселью :(

                                                              1. Владимир 31 мая 2016, 21:05
                                                                0

                                                                А вот про это я если честно и не подумал… надо бы посмотреть как время будет…

                                                              2. Леонид 15 апреля 2016, 12:37
                                                                0

                                                                Да проблема в нем 100% он конфликтует с теми стилями, которые заданы для общего шаблона :)
                                                                У меня не стандартный шаблон стоит

                                                                1. Леонид 14 апреля 2016, 14:42
                                                                  0

                                                                  Подскажите, как добавить CSS класс к модулю, чтоб он был в общем стиле сайта.
                                                                  Спасибо!

                                                                  1. Владимир 15 апреля 2016, 12:20
                                                                    0

                                                                    Посмотрите какие классы назначены блокам похожих модулей и назначьте те же в /catalog/view/theme/default/template/module/featuredcarusel.tpl… Или внесите правки в css файл используемого шаблона.

                                                                    1. Леонид 15 апреля 2016, 12:27
                                                                      0

                                                                      Владимир, вчера крутил, вертел, добавлял, изменял и ничего

                                                                      1. Владимир 15 апреля 2016, 12:32
                                                                        0

                                                                        Посмотрите вот этот файл — /catalog/view/javascript/jquery/owl-carousel/featuredcarusel.css может в нем проблема…

                                                                        1. Леонид 15 апреля 2016, 13:191
                                                                          0

                                                                          pixs.ru/showimage/Bezimyanni_6562064_21557429.png
                                                                          Вот что выходит
                                                                          А должно быть так:
                                                                          pixs.ru/showimage/Bezimyanni_5371838_21557460.jpg
                                                                          Что делать, не знаю(

                                                                          1. Владимир 15 апреля 2016, 13:33
                                                                            0

                                                                            нужно править макет и контроллер (для скидки)… только зачем? на сайте ведь есть уже вывод товаров в карусели…

                                                                            1. Леонид 15 апреля 2016, 13:41
                                                                              0

                                                                              Мне показался этот модель лучше)

                                                                  2. рк 13 марта 2016, 20:16
                                                                    0

                                                                    Приветствую!
                                                                    в админке кликаю по [ Изменение настроек модуля «Карусель рекомендуемых товаров» ]
                                                                    в итоге Notice: Error: Could not load model extension/module! in D:\OpenServer\domains\domains.ru\vqmod\vqcache\vq2-system_engine_loader.php on line 48
                                                                    подскажите как исправить?

                                                                    1. Владимир 14 марта 2016, 06:23
                                                                      0

                                                                      Ошибка с модулем не связана никак в общем то… VQMOD на второй версии пользоваться и не начинал, точно не подскажу. Для начала нужно проверить /system/engine/loader.php, о котором в ошибке говорится. Он или изменен, или изменения вносит vqmod. 1 — сверьте с оригиналом (в котором 48я строка пустая), если изменений нет — проверьте все файлы из /vqmod/xml (кроме vqmod_opencart.xml) — один из них вносит изменения в loader.php — уберите его, проверьте версию и т.д.

                                                                    2. Иван 24 февраля 2016, 13:35
                                                                      0

                                                                      подскажите, как сделать отображение цены жирным шрифтом?

                                                                      1. Владимир 26 февраля 2016, 13:50
                                                                        0

                                                                        Добавьте в CSS:
                                                                        .product-thumb .price {
                                                                        color: #FF5400;
                                                                        font-size: 23px;
                                                                        text-align: center;
                                                                        margin-top: 10px;
                                                                        min-height: 40px;
                                                                        }

                                                                        .product-thumb .price-new {
                                                                        font-weight: 600;
                                                                        }

                                                                        .product-thumb .price-old {
                                                                        color: #999;
                                                                        text-decoration: line-through;
                                                                        margin-left: 10px;
                                                                        }

                                                                        Это для примера… а вообще здесь все аналогично стандартному шаблону, если у Вас используется другой — откройте любой похожий модуль и возьмите оттуда классы блоков и перенесите в этот (файл .tpl)

                                                                      2. Дмитрий 19 февраля 2016, 23:36
                                                                        0

                                                                        А как поисковики относятся к таким каруселям? любят они их, или не очень?

                                                                        1. Владимир 19 февраля 2016, 23:41
                                                                          0

                                                                          Это для посетителей… а поисковику должно быть без разницы оформлены эти блоки в виде карусели или нет… про негатив ничего не слышал