Решение halfhope Опубликовано 12.07.2022 в 16:55 Решение Поделиться Опубликовано 12.07.2022 в 16:55 [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 Цитата Телеграмм - halfhope. Ссылка на комментарий Поделиться на другие сайты Поделиться
zhu4koff Опубликовано 18.07.2022 в 15:00 Поделиться Опубликовано 18.07.2022 в 15:00 возможен вывод товаров в блоке в виде карусели? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
halfhope Опубликовано 18.07.2022 в 15:11 Автор Поделиться Опубликовано 18.07.2022 в 15:11 1 минуту назад, zhu4koff сказал: возможен вывод товаров в блоке в виде карусели? Да. Нужен подготовленный заранее файл шаблона (twig/tpl) или уже имеющийся, от другого модуля. В настройках модуля указываете путь к шаблону и все. 1 Цитата Телеграмм - halfhope. Ссылка на комментарий Поделиться на другие сайты Поделиться
zhu4koff Опубликовано 24.08.2022 в 18:29 Поделиться Опубликовано 24.08.2022 в 18:29 можно ли в новой версии сделать настройку для блоков, "выводить товары с остатком больше 0" например рекомендуемые? 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
halfhope Опубликовано 25.08.2022 в 07:58 Автор Поделиться Опубликовано 25.08.2022 в 07:58 13 часов назад, zhu4koff сказал: можно ли в новой версии сделать настройку для блоков, "выводить товары с остатком больше 0" например рекомендуемые? Добрый день! Да, можно) записал, спасибо! 0 Цитата Телеграмм - halfhope. Ссылка на комментарий Поделиться на другие сайты Поделиться
specialforce22 Опубликовано 25.08.2022 в 08:27 Поделиться Опубликовано 25.08.2022 в 08:27 Привет! А выводится модуль чрз схемы или шорт-кодами? Если правильно понимаю, то - здорово можно сделать - выборку какую-либо (часто просматриваемые или обсуждаемые) помещать над всеми товарами в категориях!? 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
halfhope Опубликовано 25.08.2022 в 08:31 Автор Поделиться Опубликовано 25.08.2022 в 08:31 Только что, specialforce22 сказал: Привет! А выводится модуль чрз схемы или шорт-кодами? Если правильно понимаю, то - здорово можно сделать - выборку какую-либо (часто просматриваемые или обсуждаемые) помещать над всеми товарами в категориях!? Выводится, как обычно, через схемы. Да, все верно. 1 Цитата Телеграмм - halfhope. Ссылка на комментарий Поделиться на другие сайты Поделиться
specialforce22 Опубликовано 25.08.2022 в 08:41 Поделиться Опубликовано 25.08.2022 в 08:41 8 минут назад, halfhope сказал: Выводится, как обычно, через схемы. Да, все верно. Отлично - в план покупок закладываю, надо брать)) 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
zhu4koff Опубликовано 25.08.2022 в 08:49 Поделиться Опубликовано 25.08.2022 в 08:49 и на перспективу может чтобы можно было выбирать количество товаров для вывода по типам устройств 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
zhu4koff Опубликовано 22.09.2022 в 18:55 Поделиться Опубликовано 22.09.2022 в 18:55 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
zhu4koff Опубликовано 22.09.2022 в 19:04 Поделиться Опубликовано 22.09.2022 в 19:04 возможно ли будет добавить в абсолютном режиме связь по атрибутам товаров? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexDW Опубликовано 22.09.2022 в 19:33 Поделиться Опубликовано 22.09.2022 в 19:33 34 минуты назад, zhu4koff сказал: @halfhope какая версия MariaDB нужна на сервере чтобы не было ошибки 500 при настройке модуля я конечно не @halfhope но чтобы не было 500 ошибок - это не от версии бд зависит, нужно запросы правильно составлять 35 минут назад, zhu4koff сказал: SELECT p.product_id, FROM oc_product p запятую перед FROM уберите 1 Цитата модули для удобной работы с Opencart Ссылка на комментарий Поделиться на другие сайты Поделиться
zhu4koff Опубликовано 22.09.2022 в 20:02 Поделиться Опубликовано 22.09.2022 в 20:02 26 минут назад, AlexDW сказал: но чтобы не было 500 ошибок - это не от версии бд зависит, нужно запросы правильно составлять спасибо, я не программист) дословно перевел ошибку, просто и бывали случаи на практике что из-за не работали некоторые операторы и т.д. на разных версиях MariaDB, после установки актуальной, всё корректно работало а так это запрос модуля как раз, попробую найти что там и где 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
zhu4koff Опубликовано 20.10.2022 в 09:47 Поделиться Опубликовано 20.10.2022 в 09:47 @halfhope можно еще сделать опцию чтобы выводились товары родительской категории (или самого верхнего уровня если родитель не самого верхнего уровня) ? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
halfhope Опубликовано 13.04.2023 в 09:15 Автор Поделиться Опубликовано 13.04.2023 в 09:15 В 20.10.2022 в 04:47, zhu4koff сказал: можно еще сделать опцию чтобы выводились товары родительской категории (или самого верхнего уровня если родитель не самого верхнего уровня) ? Постараюсь добавить в следующей версии. 1 Цитата Телеграмм - halfhope. Ссылка на комментарий Поделиться на другие сайты Поделиться
halfhope Опубликовано 13.04.2023 в 09:25 Автор Поделиться Опубликовано 13.04.2023 в 09:25 Инструкция для обновления до версии 1.2 PMP старой версии использовал ocmod для реализации режима совместимости, а с версии 1.2 используются события. Для корректного обновления необходимо: Включить режим обслуживания в настройках магазина. Установите модуль версии 1.2 поверх старой версии. Перейдите в любой, созданный с помощью PMP, модуль и нажмите "Сохранить". Это действие добавит нужные события. Перейдите в модификаторы и удалите модификаторы модуля PMP, их там должно быть 2 (старый и новый, новый - пустой, его тоже можно удалить). Очистите кэш магазина. Отключите режим обслуживания. 1 Цитата Телеграмм - halfhope. Ссылка на комментарий Поделиться на другие сайты Поделиться
zhu4koff Опубликовано 13.11.2024 в 12:56 Поделиться Опубликовано 13.11.2024 в 12:56 @halfhope приветствую, можете доработать опции "выводить только товары в наличии" чтобы скажем добавить 20 товаров и выводились по порядку товары которые есть в наличии, сейчас бывает товар, раскупают, а он висит в рекомендованных или выводить только товары больше N и сортировку товаров в блоке чтобы можно было порядок задавать? и это тоже актуально В 20.10.2022 в 12:47, zhu4koff сказал: @halfhope можно еще сделать опцию чтобы выводились товары родительской категории (или самого верхнего уровня если родитель не самого верхнего уровня) ? В 25.08.2022 в 11:49, zhu4koff сказал: и на перспективу может чтобы можно было выбирать количество товаров для вывода по типам устройств 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
zhu4koff Опубликовано 14.11.2024 в 14:19 Поделиться Опубликовано 14.11.2024 в 14:19 еще как вижу в модуле не выводится товар если его количество = 1 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.