Solution halfhope Posted July 12, 2022 at 04:55 PM Solution Share Posted July 12, 2022 at 04:55 PM [PMP] - Products module pack Добавил halfhope Добавлено 12.07.2022 Категория Виджеты, Модули Просмотр файла Описание PMP создает модули для вывода товаров и источники данных к ним (новинки, акции, лидеры продаж и т.д.). Помимо глобального режима работы, реализованного в стандартных модулях движка, в PMP реализованы абсолютный и относительный режимы. Например, "новинки из выбранной категории / производителя", "новинки текущей категории / производителя", "новинки той же категории / производителя, что и текущий товар". Подробности ниже. Возможности Режимы работы Источники данных (новинки, акции, лидеры продаж и т.д.) могут работать в трех режимах. Объясню на примере модуля "Новинки": Абсолютный и Глобальный режимы Новинки из вручную выбранных Вами категорий / производителей. Это Абсолютный режим. Если не выбирать никаких категорий / производителей, это будет Глобальный режим, как у стандартного модуля новинок. Зависит от указанных вручную параметров. Можно указывать одновременно и категорию и производителя. Относительный режим Новинки текущей категории / производителя (где расположен модуль / которую посещает пользователь). Этот режим также работает и на странице товаров, может учитывать одновременно и категорию и производителя товара. Если модуль разместить на главной или любом другом месте, где модулю будет не за что прицепиться (товар, категория, производитель), то модуль сработает в Глобальном режиме. Зависит от расположения модуля. Если расположить один и тот же модуль новинок одновременно на странице категорий, производителя и товара, то он будет показывать разные наборы товаров. Пример есть в демо. Источники данных Абсолютные, Относительные, Глобальные: Новинки; Лидеры продаж; Товары со скидками; Товары по акции; Товары с бонусными баллами; Случайные товары; Самые просматриваемые; Самые обсуждаемые. Кастомные: Свой SQL запрос; Свой PHP код; Глобальные: Выбранные вручную товары. Другие возможности Есть возможность инвертировать выборку для абсолютных/относительных источников данных. Это значит, что будут выбраны товары НЕ входящие в текущую выборку. Есть выбор статусов товара, количества, сортировки, перемешивание товаров, кэширование. Модулем поддерживается режим совместимости с шаблонами. Это значит, что в 99% случаев не стоит беспокоиться об адаптации модуля под шаблон оформления. Этот механизм работает за счет подмены товаров у стандартного модуля "Рекомендуемых товаров". Использует механизм событий, работает без внедрения в файлы. В модуле также реализована возможность подменять шаблон (tpl / twig) на свой. Это позволит выводить товары в любой нужной форме, будь то слайдер/свайпер и т.д. Эта функция работает и в режиме совместимости. Итого имеем (16 (абсолютные + относительные) * 2 (инвертирование выборки)) + 8 (Глобальные) + 3 (Дополнительных источника данных) = 43 варианта выборки товаров. Можно еще умножить полученный результат на количество ваших вариантов настроек. Совместимость OpenCart / ocStore 2.3, 3.x, 4.x. Демо Админка https://pmp.shth.me/admin/ (авто вход) Каталог https://pmp.shth.me/ На демо сайте есть верхнее меню для быстрой навигации. Описание демо На демо сайте создано 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 Релиз. 2 Quote Телеграмм - halfhope. Link to comment Share on other sites More sharing options...
zhu4koff Posted July 18, 2022 at 03:00 PM Share Posted July 18, 2022 at 03:00 PM возможен вывод товаров в блоке в виде карусели? 0 Quote Link to comment Share on other sites More sharing options...
halfhope Posted July 18, 2022 at 03:11 PM Author Share Posted July 18, 2022 at 03:11 PM 1 минуту назад, zhu4koff сказал: возможен вывод товаров в блоке в виде карусели? Да. Нужен подготовленный заранее файл шаблона (twig/tpl) или уже имеющийся, от другого модуля. В настройках модуля указываете путь к шаблону и все. 1 Quote Телеграмм - halfhope. Link to comment Share on other sites More sharing options...
zhu4koff Posted August 24, 2022 at 06:29 PM Share Posted August 24, 2022 at 06:29 PM можно ли в новой версии сделать настройку для блоков, "выводить товары с остатком больше 0" например рекомендуемые? 1 Quote Link to comment Share on other sites More sharing options...
halfhope Posted August 25, 2022 at 07:58 AM Author Share Posted August 25, 2022 at 07:58 AM 13 часов назад, zhu4koff сказал: можно ли в новой версии сделать настройку для блоков, "выводить товары с остатком больше 0" например рекомендуемые? Добрый день! Да, можно) записал, спасибо! 0 Quote Телеграмм - halfhope. Link to comment Share on other sites More sharing options...
specialforce22 Posted August 25, 2022 at 08:27 AM Share Posted August 25, 2022 at 08:27 AM Привет! А выводится модуль чрз схемы или шорт-кодами? Если правильно понимаю, то - здорово можно сделать - выборку какую-либо (часто просматриваемые или обсуждаемые) помещать над всеми товарами в категориях!? 1 Quote Link to comment Share on other sites More sharing options...
halfhope Posted August 25, 2022 at 08:31 AM Author Share Posted August 25, 2022 at 08:31 AM Только что, specialforce22 сказал: Привет! А выводится модуль чрз схемы или шорт-кодами? Если правильно понимаю, то - здорово можно сделать - выборку какую-либо (часто просматриваемые или обсуждаемые) помещать над всеми товарами в категориях!? Выводится, как обычно, через схемы. Да, все верно. 1 Quote Телеграмм - halfhope. Link to comment Share on other sites More sharing options...
specialforce22 Posted August 25, 2022 at 08:41 AM Share Posted August 25, 2022 at 08:41 AM 8 минут назад, halfhope сказал: Выводится, как обычно, через схемы. Да, все верно. Отлично - в план покупок закладываю, надо брать)) 1 Quote Link to comment Share on other sites More sharing options...
zhu4koff Posted August 25, 2022 at 08:49 AM Share Posted August 25, 2022 at 08:49 AM и на перспективу может чтобы можно было выбирать количество товаров для вывода по типам устройств 1 Quote Link to comment Share on other sites More sharing options...
zhu4koff Posted September 22, 2022 at 06:55 PM Share Posted September 22, 2022 at 06:55 PM 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 при настройке модуля 0 Quote Link to comment Share on other sites More sharing options...
zhu4koff Posted September 22, 2022 at 07:04 PM Share Posted September 22, 2022 at 07:04 PM возможно ли будет добавить в абсолютном режиме связь по атрибутам товаров? 0 Quote Link to comment Share on other sites More sharing options...
AlexDW Posted September 22, 2022 at 07:33 PM Share Posted September 22, 2022 at 07:33 PM 34 минуты назад, zhu4koff сказал: @halfhope какая версия MariaDB нужна на сервере чтобы не было ошибки 500 при настройке модуля я конечно не @halfhope но чтобы не было 500 ошибок - это не от версии бд зависит, нужно запросы правильно составлять 35 минут назад, zhu4koff сказал: SELECT p.product_id, FROM oc_product p запятую перед FROM уберите 1 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
zhu4koff Posted September 22, 2022 at 08:02 PM Share Posted September 22, 2022 at 08:02 PM 26 минут назад, AlexDW сказал: но чтобы не было 500 ошибок - это не от версии бд зависит, нужно запросы правильно составлять спасибо, я не программист) дословно перевел ошибку, просто и бывали случаи на практике что из-за не работали некоторые операторы и т.д. на разных версиях MariaDB, после установки актуальной, всё корректно работало а так это запрос модуля как раз, попробую найти что там и где 0 Quote Link to comment Share on other sites More sharing options...
zhu4koff Posted October 20, 2022 at 09:47 AM Share Posted October 20, 2022 at 09:47 AM @halfhope можно еще сделать опцию чтобы выводились товары родительской категории (или самого верхнего уровня если родитель не самого верхнего уровня) ? 0 Quote Link to comment Share on other sites More sharing options...
halfhope Posted April 13, 2023 at 09:15 AM Author Share Posted April 13, 2023 at 09:15 AM В 20.10.2022 в 04:47, zhu4koff сказал: можно еще сделать опцию чтобы выводились товары родительской категории (или самого верхнего уровня если родитель не самого верхнего уровня) ? Постараюсь добавить в следующей версии. 1 Quote Телеграмм - halfhope. Link to comment Share on other sites More sharing options...
halfhope Posted April 13, 2023 at 09:25 AM Author Share Posted April 13, 2023 at 09:25 AM Инструкция для обновления до версии 1.2 PMP старой версии использовал ocmod для реализации режима совместимости, а с версии 1.2 используются события. Для корректного обновления необходимо: Включить режим обслуживания в настройках магазина. Установите модуль версии 1.2 поверх старой версии. Перейдите в любой, созданный с помощью PMP, модуль и нажмите "Сохранить". Это действие добавит нужные события. Перейдите в модификаторы и удалите модификаторы модуля PMP, их там должно быть 2 (старый и новый, новый - пустой, его тоже можно удалить). Очистите кэш магазина. Отключите режим обслуживания. 1 Quote Телеграмм - halfhope. Link to comment Share on other sites More sharing options...
zhu4koff Posted November 13, 2024 at 12:56 PM Share Posted November 13, 2024 at 12:56 PM @halfhope приветствую, можете доработать опции "выводить только товары в наличии" чтобы скажем добавить 20 товаров и выводились по порядку товары которые есть в наличии, сейчас бывает товар, раскупают, а он висит в рекомендованных или выводить только товары больше N и сортировку товаров в блоке чтобы можно было порядок задавать? и это тоже актуально В 20.10.2022 в 12:47, zhu4koff сказал: @halfhope можно еще сделать опцию чтобы выводились товары родительской категории (или самого верхнего уровня если родитель не самого верхнего уровня) ? В 25.08.2022 в 11:49, zhu4koff сказал: и на перспективу может чтобы можно было выбирать количество товаров для вывода по типам устройств 0 Quote Link to comment Share on other sites More sharing options...
zhu4koff Posted November 14, 2024 at 02:19 PM Share Posted November 14, 2024 at 02:19 PM еще как вижу в модуле не выводится товар если его количество = 1 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.