2015-12-04 1 views
0

У меня есть сильно модифицированный картон. Я хотел бы показать все товары из подкатегорий на страницах основной категории. Это код, сделанный из моего файла модели продукта.Запрос на открытие Openencart из уникальной таблицы

} else { 
     $cat_sql = "SELECT `category_id` FROM `" . DB_PREFIX . "category_path` WHERE `path_id` = '" . (int)$data['filter_category_id'] . "'"; 
     $cat_query = $this->db->query($cat_sql); 
     if ($cat_query->num_rows) { 
     $sql .= " AND (p2c.category_id = '" . (int)$data['filter_category_id'] . "'"; 
     foreach($cat_query->rows as $cat) { 
     $sql .= " OR p2c.category_id = '" . (int)$cat['category_id'] . "'"; 
     } 
     $sql .= ")"; 

     } else { 
     $sql .= " AND p2c.category_id = '" . (int)$data['filter_category_id'] . "'"; 
     } 
    } 

Предполагается показать эти продукты.

Но теперь у меня есть другая таблица для нескольких родительских категорий.

Мой вопрос: как я могу отобразить продукты из подкатегорий, где я просто parent_id не path_id.

Табличка с несколькими категориями проста.

category_id/parent_id

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

ответ

0

Вам не нужно изменять SQL просто передать дополнительный параметр 'filter_sub_category' => true и выведет список все продукта, включая категорию детского

$filter_data = array(
'filter_category_id' => $category_id, 
'filter_sub_category' => true 
); 
$results = $this->model_catalog_product->getProducts($filter_data); 
+0

Спасибо за ваш ответ, этот метод хорош. Просто моя проблема в том, что у меня есть расширение, с этим расширением вы можете назначить несколько родительских категорий для подкатегорий. Это расширение добавляет в базу данных и дополнительную таблицу. Где сохраняются category_id и их parent_id. Где я использую это расширение, путь выше не работает. – Robert

 Смежные вопросы

  • Нет связанных вопросов^_^