Перейти к содержанию
22.03.2024 ×
  • RU
    • Язык

[PMP] - Products module pack [support]


Перейти к решению Решений halfhope,

Рекомендуемые сообщения

  • Решение

[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. 

Ссылка на комментарий
Поделиться на другие сайты

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

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

 

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

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

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
13 часов назад, zhu4koff сказал:

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

 

Добрый день!

 

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

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

Ссылка на комментарий
Поделиться на другие сайты

Привет!

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

Привет!

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

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

 

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

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

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, halfhope сказал:

 

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

 

Отлично - в план покупок закладываю, надо брать))

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...
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

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

 

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

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

@halfhope

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

image.png.0c1fcb6d412d54e9c932f603f9b54442.png

Ссылка на комментарий
Поделиться на другие сайты

  • 5 месяцев спустя...
В 20.10.2022 в 04:47, zhu4koff сказал:

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

 

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

 

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...