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

Вопрос по модулю Bestseller (Хиты продаж)


Recommended Posts

Добрый день, подскажите, пожалуйста, как вывести на странице этого модуля товары, у которых количество продаж больше 100, например? По умолчанию выводит все товары, которые хотя бы раз купили.

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


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

в файле catalog\model\catalog\product.php в getBestSellerProducts

в запросе, после

WHERE o.order_status_id > '0' AND p.status = '1'

 

добавить

AND total > 100

 

Спасибо, при сортировке по умолчанию все работает, но стоит изменить сортировку (на любую, хоть по цене, хоть по коду товара) сразу начинают лезть товары у которых количество заказов меньше 30. Кэш чистил.

Змінено користувачем dm97
Надіслати
Поділитися на інших сайтах


12 минут назад, dm97 сказал:

при сортировке по умолчанию все работает, но стоит изменить сортировку (на любую, хоть по цене, хоть по коду товара) сразу начинают лезть товары у которых количество заказов меньше

 

тот случай, когда в самом вопросе содержится 99% ответа

ищите причину в сортировке

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

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

 

тот случай, когда в самом вопросе содержится 99% ответа

ищите причину в сортировке

 

Короче удалил вообще сортировку. Спасибо большое за помощь)

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


2 часа назад, AlexDW сказал:

тот случай, когда в самом вопросе содержится 99% ответа

ищите причину в сортировке

 

Еще вопрос. В шаблоне bestseller.tpl сортировка равняется 'total'. Соответственно делаю вывод что total надо поменять на price (мне по умолчанию по цене надо сделать сортировку).

Соответственно total я заменил в запросе на price, но сортировка не поменялась.

 

Было:

$query = $this->db->query("SELECT op.product_id, SUM(op.quantity) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND total > 30 AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);

Стало:

$query = $this->db->query("SELECT op.product_id, SUM(op.quantity) AS price FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND total > 30 AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' GROUP BY op.product_id ORDER BY price ASC LIMIT " . (int)$limit);

 

Не помогло(((

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


2 часа назад, AlexDW сказал:

ищите причину в сортировке

 

И еще интересную вещь заметил, когда в bestseller.php меняю сортировку DESC на ASC то все сбивается (показывает товары меньше чем total > 30).

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


Хочу переделать логику вывода товаров в этом модуле.

 

Хочу выводить товары с рейтингом выше 4 например. Но не могу найти в таблицах, где система хранит данные о рейтинге товара.

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


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

Это вычисляемое значение

Я так понимаю нужно мне просто условие добавить в этот запрос, который формирует массив хитов:

 

$query = $this->db->query("SELECT op.product_id, SUM(op.quantity) AS total FROM " . DB_PREFIX . "order_product op LEFT JOIN `" . DB_PREFIX . "order` o ON (op.order_id = o.order_id) LEFT JOIN `" . DB_PREFIX . "product` p ON (op.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE o.order_status_id > '0' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);

 

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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