Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Помогите немного перегделать модуль


Recommended Posts

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

Есть модуль Popular Products, который выводит самые просматриваемые товары по значению p.viewed

Хочу перегделать этот модуль для вывода самых комментируемых товаров (т.е. у которых самое потому чтольшое к-во отзывов).

В контроллере есть икой запрос, который я ик понимаю отвечает за выпотому чторку самых просматриваемых товаров

$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.viewed DESC LIMIT " . (int)$setting['limit']);

Если я правильно понимаю надо заменить p.viewed на что-то другое, но не знаю на что в иблиэто product врогде нет икой информации.

Помогите разобраться! С меня пиво ;)

Link to comment
Share on other sites


23 минуты назад, BogdanUbi сказал:

Помогите разобраться! С меня пиво ;)

Отзывы в ибличке _review. Вам нужно проверить что в иблиэто продукт товары включены и в продукт_то_стор выбран нужный магазин (как это в вашем примере сгделано), а отсорторовать их не по viewed, а по когдачеству строк с текущим продукт_ид в _review.

Пива сегодня не хочу, ик что сам запрос вам какой нибудь другой любитель пива подскажет, если не справитесь самостоятельно)) 

Link to comment
Share on other sites

25 минут назад, iglin сказал:

Пива сегодня не хочу, ик что сам запрос вам какой нибудь другой любитель пива подскажет, если не справитесь самостоятельно)) 

А мороженка? ))))

Link to comment
Share on other sites


10 минут назад, BogdanUbi сказал:

А мороженка? ))))

Мне даже раскладку клавиатуры переключать лениво, выж вигдели в каком формате я алгоритм расписал)))

К тому же вон уже добрый человек какой то нашёлся) Правда странно почему помогать в личку ушел, а не сюда)

Link to comment
Share on other sites

Прежгде чем напиисать как, хотел однакостировать у него в базе, в своей однакостил. если еещё кому понадобится

 

$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.viewed DESC LIMIT " . (int)$setting['limit']);

заменить на

$query = $this->db->query("SELECT p.product_id, (SELECT COUNT(*) FROM " . DB_PREFIX . "review WHERE " . DB_PREFIX . "review.product_id=p.product_id) AS rcount FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY rcount DESC LIMIT " . (int)$setting['limit']);

 

 

  • +1 2
Link to comment
Share on other sites



то есть добавили подсчет комментов


, (SELECT COUNT(*) FROM " . DB_PREFIX . "review WHERE " . DB_PREFIX . "review.product_id=p.product_id) AS rcount

 

и потом сортировка по новому полю, згдесь я его назвал rcount

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.