Здравствуй, уважаемый друг!

Кажется, ты используешь AdBlock. Этот проект развивается и существует за счет доходов от рекламы.
Добавь, пожалуйста, нас в исключения.

Спасибо за понимание.

Создание сайтов Харьков

Модуль меню категорий с изображениями для Opencart

21 февраля 2015 в 16:00 Автор: Nikita_Sp в категории Плагины и модули 47 комментариев

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

Nikita_Sp Category Menu - модуль меню категорий с изображениями Opencart

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

Данный модуль позволяет вывести меню категорий и кастомизировать (настроить) каждое меню отдельно как вам удобно. В пакете идут стили, которые вы можете переписать по своему вкусу.

Из возможных настроек присутствуют:

  • выбор количества уровней (от 1 до 3 уровней категорий);
  • вид меню (горизонтальное/вертикальное);
  • включить/выключить отображение количества товаров для каждого уровня отдельно;
  • включить/выключить отображение изображений для каждого уровня отдельно;

Одной из ключевых особенностей, которые отличают этот модуль от стандартного меню Opencart, кроме наличия всевозможных настроек, является кеширование количества товаров в категории, тем самым снижая нагрузку на базу данных, и сайт загружается намного быстрее!

Как всегда, для ознакомления с интерфейсом модуля представляю вашему вниманию скриншоты тестового магазина:

В архиве стандартная комплектация моих модулей: скриншоты англ. и рус. версии, файлы README англ. и рус. версии, файлы для загрузки на сервер. При загрузке ни один файл не будет перезаписан.

Правила использования модуля: модуль абсолютно бесплатный, для использования, однако загружать на сторонние ресурсы запрещено – делитесь ссылкой на эту страницу, спасибо за понимание.

Спасибо за доверие, не забываем подписываться и ставить +1, ведь именно благодаря ВАШИМ “лайкам” я вижу что работа не напрасна, а комментарии дают вдохновение на сотворение новых модулей и модификацию имеющихся!

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

Скачать Category_Menu для Opencart: nikita_sp-category_menu

47 комментариев

  • Добрый день, Никита! Модуль замечательный — красивое меню, но на Opencart 1.5.6.4.1 выдает кучу ошибок. Вот такого характера:
    systemlibraryimage.php on line 99
    …и в конце разные номера строк по этому же адресу.
    Как это можно «вылечить»?

    • Только что скачал с сайта opencart.com (который, на мой взгляд является первоисточником официальных версий OpenCart, а не сборок которые собирают не всегда компетентные люди) OpenCart 1.5.6.4 (обратите внимание что нет версии 1.5.6.4.1!) и установил на свой Denwer (localhost).

      Установил модуль, включил — все работает. Ошибок нет.

      Варианты решения задачи:
      1) Анализ логов ошибок (возможно у вас есть иные ошибки, вызванные пользовательским кодом);
      2) Анализ установленных модулей и расширений (которые также могли быть написаны не совсем компетентными разработчиками);
      3) Отправить мне через форму обратной связи данные для доступа на сервер для анализа ошибки.

      Текст вашей ошибки гласит о том, что в функцию imagecopyresampled() вместо ресурса (изображение, первый параметр) был передан boolean (true/false).
      Данная функция содержится только в одной строке в функции resize() в указанном файле. Таким образом вы можете отловить ошибку.

      Вроде пока все, чем могу помочь в вашем случае.
      Спасибо за использование, комментарии и не забывайте ставить Like 🙂
      Спасибо.

      • Спасибо, Никита, за оперативный ответ!
        Забыл сказать, наверное, важную вещь. Версия, на которую устанавливал плагин — не opencart, а популярная сборка ocshop. Возможно, отсюда несовместимость. Привык их не различать, так как плагины (на моей практике) от opencart подходят к ocshop. Доступ к FTP, наверное, сделать, к сожалению, невозможно, так как скрипт запущен на Open Server. Обратил внимание еще на одну деталь. Само меню работает, отображается, вкладки выпадают. А изображения рубрик не работают. Если посмотреть адрес этих изображений, то можно заметить, что идет ссылка на изображение размером 0x0:

        • Ну сборка ocShop же чем-то отличается от OpenCart, иначе в ней не было бы смысла.

          Что касается изображения — это ествественно, т.к. у вас выдается ошибка на функцию которая по идее должна возвращать изображение (генерировать кеш)

          Более того, модуль не изменяет код системы, а только использует стандартные библиотеки (system/library/image.php) так что ошибка мне кажется все-таки кроется именно в сборке.

          Как вариант, попробуйте сравнить вызов функции $image->resize() и т.п. в котроллерах модуля и в котроллерах вашей сборки, к примеру в контроллере category.php
          (т.е. ищем строки обработки изображений в файлах catalog/controller/module/category_menu.php и catalog/controller/product/category.php)

          и ищем различия, и приводим к общему виду. По всей видимости отличие именно там. Больше подсказать вряд ли смогу.

          P.S. хотел помочь, скачав с оф. сайта нужную версию и потестировать, но к моему удивлению такой версии там тоже нет…
          ocshop.net 1.5.6.3 — последняя вроде как.

          Так что не знаю откуда вы (ползователи моих модулей) берете эти, все разные, сборки которые не работают или работают но непонятно как XD
          Под каждого «разработчика» который решил «написать свою CMS» я ж не подстроюсь XD

          Вы можете еще ссылки скинуть на вашу версию, я позже гляну.
          Спасибо.

          • Спасибо за ответ!
            Брал с ресурса ocshop.net, где-то месяц назад. Да, там действительно сейчас выставлена более младшая версия 1.5.6.3! Сделали откат, как вижу! За месяц перепробовал на нем кучу плагинов, и набралась неплохая рабочая сборка с нужными мне функциями, заметных глюков не наблюдаю.

          • как минимум наличие таких «откатов» вызывает у меня сомнения к данному разработчику.

            Заметных может и нет, но в логах может быть что-то, опять таки совместимость с другими модулями. Я люблю приводить в пример аналогию постройки сайта с постройкой дома: можно построить все что угодно из гипсокартона и будет дешево и быстро, но в итоге оно развалится. Или строить медленно, тщательно, дорого, но из кирпича. Выбор за исполнителем/заказчиком.

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

            Как вариант: отправьте мне в комментарии/в форме обратной связи в контактах свой емейл (я не опубликую) — я вам напишу письмо и вы мне скинете бекап вашего сайта (файлы + БД).

          • Извиняюсь за задержку. Вот мой мейл контактный: *****@****.ru Я могу или бэкап, или просто эту версию упакованную отправить

          • Я вам написал на почту.
            Сбросите мне ссылку на архив с файлами и бекапом БД. Можно на DropBox или другом хостинге.

          • Никита, вы правы!
            Размер картинок стоял 0px. После того, как установил положительное значение, появились и картинки, и исчезли сообщения об ошибках.
            Я думаю, можно упомянуть об этой «проблеме» в инструкции для установки, так как не я один по невнимательности могу не заметить этого.
            Еще раз хочу поблагодарить за шикарный модуль! И за оперативную помощь! Из всех попадавшихся такого рода, для меня он однозначно лучший, и попадает в мою коллекцию обязательных модулей.

          • Да, хорошая едея, в идеале вообще добавить проверку на значение этого поля при включенных картинках для опред. уровня.
            Я хотел сделать, но руки пока не доходят — много модулей, много пользователей, много обращений 🙂

            Спасибо за лестный комментарий, делайте репост, кликайте на рекламу чтобы поддержать меня 🙂
            СПасибо 🙂

  • Я извиняюсь, в прошлом письме не полностью записал ошибку. Вот она:
    Warning: imagecopyresampled() expects parameter 1 to be resource, boolean given in C:OpenServerdomainsopencartsystemlibraryimage.php on line 99

  • Добрый вечер.Отличный модуль, понравился.
    Такой вопрос интересует: возможно ли, что бы сам процесс выпадания списка остался модуля, но новое меню не добавлялось, а была такая же работа на старом меню, которое уже есть на сайте.

    И где можно что переделать?

    Спасибо.

    • Спасибо за интерес к моему модулю.
      Простите что?
      Не понял сути вопроса.

      • Сейчас у меня в магазине есть меню с категориями. Когда устанавливаешь модуль, появляется такое же меню с категориями, но в других стилях.
        То есть получается 2 меню: меню стандартное и меню модуля
        Так вот, возможно ли что бы осталось меню стандартное, но с функционалом модуля)

        Спасибо

        Правильно ли я понимаю: можно просто стили модульного меню заменить стилями стандартного, а стандартное просто удалить?

        • пример: у вас есть жигули и мерседес, как сделать так чтобы жигули стал мерседесом? Значек перекинуть?

          Нет, только правка php + html + css. Одних стилей не достаточно. Или использовать что то одно.

  • Здравствуйте,
    Вопрос аналогичный вопросу Анна Сергеева(:smile:). При установке модуля на главной странице появляется 2 горизонтальных меню- то, что было ранее и новое. Так, что нужно сделать, чтобы осталось только одно меню — с поставленным модулем?Спасибо!

    • Для этого необходимо править файл catalog/controller/common/header.php
      Ищем для OpenCart 1.5.x строку «$this->children» и добавляем туда модуль:
      «module/category_menu»

      После этого он будет доступен в шаблоне в файле catalog/view/theme/YOUR_THEME/template/common/header.tpl

      в переменной $category_menu, которую вы ставите в любое удобное место.
      При этом в файле catalog/controller/module/category_menu.php создаете дефолтные настройки для вашего меню, используя массив $settings.
      В нем будут след переменные:

      $settings[‘style’], $settings[‘category_count’], $settings[‘level’], $settings[‘child_count’], $settings[‘subchild_count’], $settings[‘subchild_images’][‘status’], и т.д., ищите по файлу «$settings»
      и должно работать. может что-то упустил.

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

      Спасибо за отзыв и использование модуля.

  • Никита, привет!
    Нигде не нашёл для какой версии Опенкарта. На 2.0.2.0 не становится? Спасибо.

    • Добрый вечер!
      Данный модуль разработан как для версий OpenCart 1.5.x так и для 2.х
      Вам необходимо только, воспользовавшись поиском по сайту, найти версию для 2.0.

      Также ссылка на версию для OC2.0 есть в рекомендуемых ссылках в данной статье. «Адаптация модуля…»

  • Доброго времени суток! Очень хороший модуль.. стал без проблем! а можно как то подробней описание, как убрать родное горизонтальное меню! очень надо! За раннее благодарен.

    • Откройте файл catalog/view/theme/YOUR-THEME/template/common/header.tpl
      и удалите строки условия:
      от

      до закрывающей «}»

      Таким образом вы спрячете стандартное меню.
      Также рекомендую, для повышения производительности убрать строки из файла catalog/controller/common/header.php где создается массив categories.

      Найти его можно по:
      1) Для Opencart 2.x — $data[‘categories’]
      2) Для Opencart 1.5.x — $this->data[‘categories’]

      Ну и убрать все строки где идет с этим массимвом работа, т.к. он нам не нужен.
      Надеюсь помог, если будут еще вопросы — пишите.
      Спасибо за обращение.

  • Добрый день, длинные названия категорий вылезают за границы области, как поправить?

  • В цсс было nowrap, удалил, вставил word-wrap: break-word; , всё заработало, лучшее меню, ОГРОМНОЕ спасибо!

  • Никита, Добрый день! Установил ваш модуль «МОДУЛЬ МЕНЮ КАТЕГОРИЙ С ИЗОБРАЖЕНИЯМИ ДЛЯ OPENCART

    модуль работает но поменялась вся кодировка на сайте + показывает ошибку .

    ссылка: http://wpsos.ru/index.php?route=product/category&path=20_26

    Помогите понять в чем проблема? Версия движка
    ocStore © 2009-2015 Все права защищены.
    Версия 1.5.5.1.2

    • В настройках модуля либо установите размер изображений, либо установите значение «Отключено» для опции показывать изображения.

  • Спасибо за модуль!
    Подскажите, пожалуйста, как сделать, чтобы при наведении курсора на категорию первого уровня цвет ее названия менялся на #F35941 и оставался таким при поиске в категориях второго уровня (вложенных).

  • Спасибо за модуль! Вопрос? Opencart 2. В настройках Категорий -> Данные есть чекбокс Верх — и обычное меню проверяет если чекбокс включен данный пункт включается в меню. В Вашем модуле нету такой проверки и включаются все категории, как можно добавить такую проверку?

  • Уже сам нашёл, добавил в файл category_menu.php проверку if ($category[‘top’]) { } и теперь всё работает как нужно. Спасибо, Но теперь другая задача Как сделать так что-бы в меню отображалось 3 уровня но начиная со второго ? Тоесть родительские категории выводить не нужно.

    • Спасибо за комментарии и внимание к моему модулю.
      Точно также, как и с проверкой на $category[‘top’] редактировать код.

  • Добрый день! Сделайте пожалуйста вариант отображения для мобильных устройств, а-то на планшетах горизонтальное меню выходит за границы экрана. Было бы шикарно если бы при определенной ширине экрана меню сворачивалось в одну кнопку, которая раскрывалась при нажатии в вертикальное меню.
    Спасибо за модуль!!!

    • Добрый день!

      Это можно сделать при помощи CSS. Мой модуль — это сугубо программное решение. CSS оформление у каждого индвидуальное.
      Спасибо за использование модуля.

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

    • Добрый день, если просто поставить — то нет.
      В OC3 — даже шаблон другой (twig, не tpl). Но если подкрутите — то будет.

  • Добрый день! Не знаю насколько актуален пост, но появилась необходимость подобного меню. При настройке столкнулся с проблемой.
    Когда в контроллере переопределил все переменные сетинга, однако если в меню модуля не выставить отображение на искомой странице, сетинг не применяется

Добавить комментарий для Дмитрий Исканцев Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вверх!

Меню блога

Категории блога

Облако тегов