Jump to content

[PMP] - Products module pack [support]


halfhope
 Share

Go to solution Solved by halfhope,

Recommended Posts

  • Solution

[PMP] - Products module pack

Просмотр файла

Описание

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

 

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

Возможности

Режимы работы

Источники данных (новинки, акции, лидеры продаж и т.д.) могут работать в трех режимах. Объясню на примере модуля "Новинки":

Абсолютный и Глобальный режимы

  • Новинки из вручную выбранных Вами категорий / производителей. Это Абсолютный режим.

  • Если не выбирать никаких категорий / производителей, это будет Глобальный режим, как у стандартного модуля новинок. 

Зависит от указанных вручную параметров. Можно указывать одновременно и категорию и производителя.

Относительный режим

  • Новинки текущей категории / производителя (где расположен модуль / которую посещает пользователь). Этот режим также работает и на странице товаров, может учитывать одновременно и категорию и производителя товара.

  • Если модуль разместить на главной или любом другом месте, где модулю будет не за что прицепиться (товар, категория, производитель), то модуль сработает в Глобальном режиме.

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

Источники данных

Абсолютные, Относительные, Глобальные:

  • Новинки;

  • Лидеры продаж;

  • Товары со скидками;

  • Товары по акции;

  • Товары с бонусными баллами;

  • Случайные товары;

  • Самые просматриваемые;

  • Самые обсуждаемые.

Кастомные:

  • Свой SQL запрос;

  • Свой PHP код;

Глобальные:

  • Выбранные вручную товары.

Другие возможности

  • Есть возможность инвертировать выборку для абсолютных/относительных источников данных. Это значит, что будут выбраны товары НЕ входящие в текущую выборку.

  • Есть выбор статусов товара, количества, сортировки, перемешивание товаров, кэширование.

  • Модулем поддерживается режим совместимости с шаблонами. Это значит, что в 99% случаев не стоит беспокоиться об адаптации модуля под шаблон оформления. Этот механизм работает за счет подмены товаров у стандартного модуля "Рекомендуемых товаров". Использует механизм событий, работает без внедрения в файлы.

  • В модуле также реализована возможность подменять шаблон (tpl / twig) на свой. Это позволит выводить товары в любой нужной форме, будь то слайдер/свайпер и т.д. Эта функция работает и в режиме совместимости.

Итого имеем (16 (абсолютные + относительные) * 2 (инвертирование выборки)) + 8 (Глобальные) + 3 (Дополнительных источника данных) = 43 варианта выборки товаров. Можно еще умножить полученный результат на количество ваших вариантов настроек.

Совместимость

  • OpenCart / ocStore 2.3, 3.x, 4.x.

Демо

Админка 

Каталог 

На демо сайте есть верхнее меню для быстрой навигации.

Описание демо

На демо сайте создано 3 модуля:

Самые просматриваемые - Абсолютный | Most viewed - Absolute 

Выбран производитель Apple. Размещен только на главной.

Новинки - Относительный | Latest - Relative

Размещен на страницах категорий, производителей, товаров и главной. На главной модулю не за что прицепиться (товар, категория, производитель), он выбирает новинки из всего магазина (Глобальный режим).

Кастомный PHP код | Custom PHP code

Размещен на странице товаров, всегда выводит одни и те же товары (3 товара).

Установка

  • Установите расширение через стандартный раздел установки дополнений.

  • Перейдите в раздел модулей и установите модуль "[PMP] Products module pack".

Руководство

Модуль простой, руководство не требуется, все есть в описании и подсказках.

 

Если возникнут любые вопросы, пишите в тему поддержки или личные сообщения.

Лицензия

  • Модуль имеет автоматическую активацию. При покупке указывайте домен / тестовый домен.

  • Лицензия распространяется на один магазин / мультимагазин.

Описание файлов и контрольные суммы

  • pmp_v1.2_oc_v2.3.ocmod.zip для версий 2.3 a30eb76e67f304b923f2b2d1310dbabc

  • pmp_v1.2_oc_v3.x.ocmod.zip для версий 3.x 1142d2954bdc4cb96486e9e216e6678b

  • pmp.ocmod.zip для версий 4.x a30eb76e67f304b923f2b2d1310dbabc

В процессе работ

  • Алгоритм похожих товаров, использующий кластеризацию - DBSCAN / DBSCANPlus. Сходство определяется названием, общими аттрибутами и категориями. Используется косинусное сходство и модифицированная мера Сёренсена.

  • Алгоритм коллаборативной фильтрации для формирования персональных рекомендаций пользователям. Используется DBSCAN / DBSCANPlus. Формируется на основе предыдущих заказов и отзывов.

UPD есть существенные задержки в связи с известными событиями.

Смотрите также

  • Custom templates Pro - модуль подменяющий tpl / twig шаблоны у любых разделов и модулей в зависимости от условий.

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

  • FSMonitor - мониторинг файловой системы - модуль отслеживает новые, измененные и удаленные файлы сайта.

Другие модули и услуги с тегом "Гибкость".

Лог изменений

 

Спойлер

1.2

Ошибки

  • Исправлена ошибка функции кэширования модулей, при которой кэшировался только один вариант относительного модуля.

  • Исправлена ошибка в каталоге при отсутствующем route.

  • Исправлена ошибка в PHP коде модели случайных товаров.

  • Исправлена ошибка в SQL коде модели самых просматриваемых товаров.

  • Исправлена ошибка использования несуществующей twig переменной в форме админки.

Функции

  • Добавлена поддержка выборки по количеству и статусам товаров.

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

Юзабилити

  • Добавлена кнопка для быстрой навигации по уже созданным модулям.

  • У кастомных SQL / PHP по другому стилизованы подсказки.

  • Блок управления совместимостью выделен другим цветом.

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

  • При включении режима совместимости, меняется не только контроллер, но и шаблон.

1.1 

  • Релиз.

 

 

Телеграмм - halfhope. 

Link to comment
Share on other sites

1 минуту назад, zhu4koff сказал:

возможен вывод товаров в блоке в виде карусели?

 

Да. Нужен подготовленный заранее файл шаблона (twig/tpl) или уже имеющийся, от другого модуля. В настройках модуля указываете путь к шаблону и все.

Телеграмм - halfhope. 

Link to comment
Share on other sites

  • 1 month later...
13 часов назад, zhu4koff сказал:

можно ли в новой версии сделать настройку для блоков, "выводить товары с остатком больше 0" например рекомендуемые?

 

Добрый день!

 

Да, можно) записал, спасибо!

Телеграмм - halfhope. 

Link to comment
Share on other sites

Привет!

А выводится модуль чрз схемы или шорт-кодами?

Если правильно понимаю, то - здорово можно сделать - выборку какую-либо (часто просматриваемые или обсуждаемые) помещать над всеми товарами в категориях!?

Link to comment
Share on other sites

Только что, specialforce22 сказал:

Привет!

А выводится модуль чрз схемы или шорт-кодами?

Если правильно понимаю, то - здорово можно сделать - выборку какую-либо (часто просматриваемые или обсуждаемые) помещать над всеми товарами в категориях!?

 

Выводится, как обычно, через схемы. Да, все верно.

Телеграмм - halfhope. 

Link to comment
Share on other sites

  • 4 weeks later...
PHP Fatal error:  Uncaught Exception: Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM oc_product p 
			 LEFT JOIN oc_product_to_category p2c ON (p.product_id ...' at line 2<br />Error No: 1064<br />SELECT p.product_id, 
		FROM oc_product p 
			 LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id)  LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) 
		WHERE 
			 p.manufacturer_id = 11 AND  p2c.category_id = 88 AND p.date_available <= NOW() AND pd.language_id = '1' AND p2s.store_id = '0' AND p.status = '1' AND p.quantity > 1 
			AND p.viewed > 0
		GROUP BY p.product_id 
		ORDER BY p.viewed DESC,  p.sort_order ASC, LCASE(pd.name) ASC LIMIT 0,8 in /system/library/db/mysqli.php:41

 

@halfhope какая версия MariaDB нужна на сервере чтобы не было ошибки 500 при настройке модуля

 

image.png.120d2ff85bb0460bf2dc24b9b46cf1f3.png

Link to comment
Share on other sites

34 минуты назад, zhu4koff сказал:

@halfhope какая версия MariaDB нужна на сервере чтобы не было ошибки 500 при настройке модуля

я конечно не @halfhope

но чтобы не было 500 ошибок - это не от версии бд зависит, нужно запросы правильно составлять

35 минут назад, zhu4koff сказал:
SELECT p.product_id, 
		FROM oc_product p

запятую перед FROM уберите

Link to comment
Share on other sites

26 минут назад, AlexDW сказал:

но чтобы не было 500 ошибок - это не от версии бд зависит, нужно запросы правильно составлять

спасибо, я не программист) дословно перевел ошибку, просто и бывали случаи на практике что из-за не работали некоторые операторы и т.д. на разных версиях MariaDB, после установки актуальной, всё корректно работало

 

а так это запрос модуля как раз, попробую найти что там и где

Link to comment
Share on other sites

  • 4 weeks later...
  • 5 months later...
В 20.10.2022 в 04:47, zhu4koff сказал:

можно еще сделать опцию чтобы выводились товары родительской категории (или самого верхнего уровня если родитель не самого верхнего уровня) ?

 

Постараюсь добавить в следующей версии.

Телеграмм - halfhope. 

Link to comment
Share on other sites

Инструкция для обновления до версии 1.2

 

PMP старой версии использовал ocmod для реализации режима совместимости, а с версии 1.2 используются события. Для корректного обновления необходимо:

  1. Включить режим обслуживания в настройках магазина.
  2. Установите модуль версии 1.2 поверх старой версии.
  3. Перейдите в любой, созданный с помощью PMP, модуль и нажмите "Сохранить". Это действие добавит нужные события.
  4. Перейдите в модификаторы и удалите модификаторы модуля PMP, их там должно быть 2 (старый и новый, новый - пустой, его тоже можно удалить).
  5. Очистите кэш магазина. 
  6. Отключите режим обслуживания.

Телеграмм - halfhope. 

Link to comment
Share on other sites

  • 1 year later...

@halfhope

 

приветствую, можете доработать опции "выводить только товары в наличии" чтобы скажем добавить 20 товаров и выводились по порядку товары которые есть в наличии, сейчас бывает товар, раскупают, а он висит в рекомендованных или выводить только товары больше N

 

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

image.png

 

 

и это тоже актуально 

 

В 20.10.2022 в 12:47, zhu4koff сказал:

@halfhope

можно еще сделать опцию чтобы выводились товары родительской категории (или самого верхнего уровня если родитель не самого верхнего уровня) ?

image.png.0c1fcb6d412d54e9c932f603f9b54442.png

 

В 25.08.2022 в 11:49, zhu4koff сказал:

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

 

image.png.8d0bced69e7f8bdd0c56c18f7ddc8e83.png

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...