Модуль 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. Александр 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:55(Комментарий был изменён)
          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:26(Комментарий был изменён)
                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:04(Комментарий был изменён)
                              0 #

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

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

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

                              2. kwakin 29 ноября 2016, 09:00(Комментарий был изменён)
                                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:10(Комментарий был изменён)
                                      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:23(Комментарий был изменён)
                                        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:19(Комментарий был изменён)
                                                                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 #

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