Помощь Получение всех товаров производителя

Тема в разделе "Opencart", создана пользователем Funya007, 9 июл 2015.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. Funya007

    Funya007 Постоялец

    Регистр.:
    27 окт 2007
    Сообщения:
    83
    Симпатии:
    30
    Здравствуйте! В admin/model/catalog/product.php - есть метод получения товаров по ID категории:

    Код:
        public function getProductsByCategoryId($category_id) {
            $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$category_id . "' ORDER BY pd.name ASC");
                                     
            return $query->rows;
        } 
    Как можно получить в админке опенкарта товары по ID производителя? Спасибо
     
  2. dokka2000

    dokka2000 Постоялец

    Регистр.:
    17 июл 2012
    Сообщения:
    49
    Симпатии:
    108
    Код:
     public function getProductsByManufacturerId($manufacturer_id, $sort = 'p.sort_order', $order = 'ASC', $start = 0, $limit = 20) {
          $sql = "SELECT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND m.manufacturer_id = '" . (int)$manufacturer_id. "'";
    
          $sort_data = array(
             'pd.name',
             'p.sort_order',
             'special',
             'rating',
             'p.price',
             'p.model'
          );
            
          if (in_array($sort, $sort_data)) {
             if ($sort == 'pd.name' || $sort == 'p.model') {
                $sql .= " ORDER BY LCASE(" . $sort . ")";
             } else {
                $sql .= " ORDER BY " . $sort;
             }
          } else {
             $sql .= " ORDER BY p.sort_order";  
          }
            
          if ($order == 'DESC') {
             $sql .= " DESC";
          } else {
             $sql .= " ASC";
          }
    
          if ($start < 0) {
             $start = 0;
          }
         
          $sql .= " LIMIT " . (int)$start . "," . (int)$limit;
         
          $query = $this->db->query($sql);
         
          return $query->rows;
       }
     
    piaxo и fire12345 нравится это.
  3. valeriy.kovalchuk

    valeriy.kovalchuk Писатель

    Регистр.:
    23 июл 2015
    Сообщения:
    8
    Симпатии:
    0
    У меня не выходит, ошибки показывает o_O