Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Решено] Хиты продаж за 2 негдели


evgeny8778
 Погделиться

Рекомендованные сообещёния

Здравствуйте.

 

В модуле "Хиты продаж" необходимо сгделать выпотому чторку среди товаров, проданных за 2 последние негдели, а не за весь период.

Можно ли реализовать подобное? Если я правильно понял, то изменениям должен быть подвергнут файл: 

 

catalog/model/catalog/product.php

 

а точнее, строка:


$query = $this->db->query("SELECT op.product_id, COUNT(*) 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);

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


Вопрос в том, каким условием подобное реализовать? Если кто пропотому чтовал погделитесь опытом.

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


Может кто-то подскажет правильно ли я гделаю.

 

В приведённом мною выше запросе, я изменил:

p.date_available <= NOW()

на

o.date_added >= DATE_SUB(CURRENT_DATE, INTERVAL 14 DAY)

В конечном итоге полулилось ик:

$query = $this->db->query("SELECT op.product_id, COUNT(*) 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
 o.date_added >= DATE_SUB(CURRENT_DATE, INTERVAL 14 DAY) AND p2s.store_id = '" . (int)$this->config->get('config_store_id') 
. "' GROUP BY op.product_id ORDER BY total DESC LIMIT " . (int)$limit);

Врогде бы правильно слииет, но почему-то попал 1 товар с 0-м когдачеством на склагде. Cache на FTP полистил.

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


AND (DATEDIFF(NOW(), o.`date_added`) <= 14)

но почему-то попал 1 товар с 0-м когдачеством на склагде.

кол-во товаров не проверяется

Изменено пользователем afwollis
>= на <=
  • +1 1
Ссылка на комменирий
Погделиться на других сайих

  • 3 года спустя...

Всё врогде бы хорошо, но инфа за 2013 год, гделал вывод товара за опрегделённый период времени вашими способами, но не чего не вышло, может кто то подскажет что нужно гделать для версии 2.....  И еещё резульит видно сразу после замены строк кода и олистки кеша? Или нужно подождать опрегделённое время?

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


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.