Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Модуль Auto Related для OpenCart v.1.5.1


Bizon

Recommended Posts

Сегодня скачал Модуль Auto Related для OpenCart v.1.5.1 который автоматически по похожим названиям товаров добавит найденные в список рекомендуемых.

Мне это понравилось, потому что в админке я не добавил ни одного рекомендуемого товара. Мод действительно сам добавляет в список рекомендуемых товары.

Вопрос вот в чем. Модуль добавляет в список рекомендуемых товары со схожими именами, например к товару iPhone будут добавлены товары с именами iPod Classic, iPod Touch, iPod Nano ну и так далее.

Так вот, а как бы сделать, чтобы этот модуль добавлял в список рекомендуемых товары не по названию, а из той же категории. Например: Если iPhone принадлежит к категории Телефоны, то в списке рекомендуемых у него были другие товары, скажем samsung e-350, который тоже принадлежит категории Телефоны.

Как видно из примера названия у товаров разные, но принадлежат они одной категории. Вот и хотелось бы, чтобы это мод делал так я написал в примере.

Может кто подскажет как это сделать?

Вот архив с модулем. Заранее спасибо.

autorelate.zip

Надіслати
Поділитися на інших сайтах


Сегодня скачал Модуль Auto Related для OpenCart v.1.5.1 который автоматически по похожим названиям товаров добавит найденные в список рекомендуемых.

Мне это понравилось, потому что в админке я не добавил ни одного рекомендуемого товара. Мод действительно сам добавляет в список рекомендуемых товары.

Вопрос вот в чем. Модуль добавляет в список рекомендуемых товары со схожими именами, например к товару iPhone будут добавлены товары с именами iPod Classic, iPod Touch, iPod Nano ну и так далее.

Так вот, а как бы сделать, чтобы этот модуль добавлял в список рекомендуемых товары не по названию, а из той же категории. Например: Если iPhone принадлежит к категории Телефоны, то в списке рекомендуемых у него были другие товары, скажем samsung e-350, который тоже принадлежит категории Телефоны.

Как видно из примера названия у товаров разные, но принадлежат они одной категории. Вот и хотелось бы, чтобы это мод делал так я написал в примере.

Может кто подскажет как это сделать?

Вот архив с модулем. Заранее спасибо.

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

iPhone и iPod Classic это разные категории, и для совпадения по именам Apple это исключение из правил, с Samsung или LG такое не пройдёт, как и в большинстве случаев для других вендоров.

Надіслати
Поділитися на інших сайтах

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

и автоматически related товары подбираются только там, где они не заданы.

нужно просто ограничить подбор этих related продуктов, выбирать только из категории к которой принадлежит товар

Надіслати
Поділитися на інших сайтах


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

и автоматически related товары подбираются только там, где они не заданы.

нужно просто ограничить подбор этих related продуктов, выбирать только из категории к которой принадлежит товар

не совсем понятен смысл тогда автогенерации рекомендуемые, рекомендоватть можно по признаку или группе признаков, к таковым может относится цена товара, похожие харатеристики, политика продажи определённого товара и т.д.

Но вот рандом здесь никак не может иметь место быть, к примеру вы смотрите телефон с QWERTY - модуль выдаст вам рекомендуемый...? именно... без QWERTY: бесполезно более чем и у покупателя осадочек... и таких исключений будет масса...

Хотя всё зависит от типа продукции...

Надіслати
Поділитися на інших сайтах

Хотя всё зависит от типа продукции...

да. от продукции.. и от структуры самого магазина, организации каталогов

в моем случае, для сувенирной продукции - это практически идеальное решение

Надіслати
Поділитися на інших сайтах


да. от продукции.. и от структуры самого магазина, организации каталогов

в моем случае, для сувенирной продукции - это практически идеальное решение

Вам тогда должен быть интересен модуль "Ещё товары из этой же категории" или "Близкие по цене из той же категории"
Надіслати
Поділитися на інших сайтах

а вы точно тот модуль выслали во вложении?

вот код из него

$sql="  select *,p.product_id as related_id  from " . DB_PREFIX . "product p  LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in   (select product_id from " . DB_PREFIX . "product_to_category  where category_id in  (SELECT category_id FROM " . DB_PREFIX . "product_to_category where product_id=".(int)$product_id."))  AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' limit 30";

этот код выбирает из базы товары из той же категории

Надіслати
Поділитися на інших сайтах

а такие существуют? для 1.0.1?

Видел точно, но платный или нет не припомню...
Надіслати
Поділитися на інших сайтах

а вы точно тот модуль выслали во вложении?

вот код из него

$sql="  select *,p.product_id as related_id  from " . DB_PREFIX . "product p  LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in   (select product_id from " . DB_PREFIX . "product_to_category  where category_id in  (SELECT category_id FROM " . DB_PREFIX . "product_to_category where product_id=".(int)$product_id."))  AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' limit 30";

этот код выбирает из базы товары из той же категории

не знаю какая проблема у автора темы, но свою ошибку я увидел ((((

я использую не opencart 1.5.1 а ocstore 1.0.1

а там товар принадлежит нескольким категориям и установлена главная категория ( не подумал сразу об этом

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

так что мой вопрос получается не по теме (но вдруг получится помочь с правкой этого кода, буду благодарен)

Надіслати
Поділитися на інших сайтах


а вы точно тот модуль выслали во вложении?

вот код из него

$sql="  select *,p.product_id as related_id  from " . DB_PREFIX . "product p  LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) where p.product_id in   (select product_id from " . DB_PREFIX . "product_to_category  where category_id in  (SELECT category_id FROM " . DB_PREFIX . "product_to_category where product_id=".(int)$product_id."))  AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' limit 30";

этот код выбирает из базы товары из той же категории

офтоп...

увидел вложенные запросы и возник вопрос а зачем? можно же обойтись двумя простыми, при этом не будет временных таблиц и как следствие пагубного влияния на производительность, мне не понятно зачем использовать такой функционал MySQL в ущерб производительности...

Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

спрошу еще раз ) вдруг у кого найдется время помочь

адаптировать этот запрос для ocStore 1.0.1

совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу:

просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category

нужно чтобы product_id брался из product_to_category только если она главная (main_category =1)

http://screencast.com/t/hH0swIk88L

Надіслати
Поділитися на інших сайтах


спрошу еще раз ) вдруг у кого найдется время помочь

адаптировать этот запрос для ocStore 1.0.1

совсем в этом ничего не понимаю, но попытаюсь объяснить своими словами в чем я вижу разницу:

просто в ocStore 1.0.1 в oc_product_to_category есть еще одно дополнительное поле main_category

нужно чтобы product_id брался из product_to_category только если она главная (main_category =1)

http://screencast.com/t/hH0swIk88L

Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта

$sql = "SELECT *,p.product_id AS related_id  FROM " . DB_PREFIX . "product p  
LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) 
WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category  WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) )
AND p.status = '1' 
AND p.date_available <= NOW() 
AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' 
LIMIT 30";

Выбирает все (LIMIT 30) продукты, у кого главная категория совпадает с главной категорией продукта

$sql = "SELECT *,p.product_id AS related_id  FROM " . DB_PREFIX . "product p  
LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) 
WHERE p.product_id IN ( SELECT product_id FROM " . DB_PREFIX . "product_to_category  WHERE category_id IN ( SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = ".(int)$product_id." AND main_category = 1 ) AND main_category = 1)
AND p.status = '1' 
AND p.date_available <= NOW() 
AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' 
LIMIT 30";

З.Ы. Второй запрос (возможно и первый) вообще можно и нужно разбить на два простых, это избавит от двух временных таблиц, которые жрут память, и (при нехватке физ памяти) не дай бог начнёт свопировать временные таблицы - нагрузка возрастает + тормоза в следствии ограничения соростью дисковых операцый ввода/вывода (в случае нехватки физ памяти временные таблички благополучно создаются на файловой системе)

  • +1 2
Надіслати
Поділитися на інших сайтах

Выбирает все продукты (LIMIT 30), у кого любая категория совпадает с главной категорией продукта

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

И еще. Обращаюсь к господину costas Может поможете решить такой вопрос, который я описал тут: https://opencartforum.com/topic/4940-%d0%b0%d0%b4%d0%bc%d0%b8%d0%bd%d0%ba%d0%b0-%d0%ba%d0%b0%d1%82%d0%b0%d0%bb%d0%be%d0%b3-%d0%b7%d0%b0%d0%b3%d1%80%d1%83%d0%b7%d0%ba%d0%b8/page__p__31931__fromsearch__1#entry31931

И мне эту ссылку нужно еще как-то вывести на странице подробного описания продукта.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.