Прежде чем напиисать как, хотел протестировать у него в базе, в своей протестил. если еще кому понадобится
$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']);