OpenCart 🇺🇦

Схема

public array getCategories ( int $parent_id = 0 )

Аргументы

Аргумент Возможный тип Описание
$parent_id = 0 int

Описание

Позволяет получить список категорий по ID родительской категории. Если категории не найдена, вернет пустой массив (array(), иначе вернет 2-мерный массив, каждая строка из которого будет содержать следующие поля:
Ключ Тип Описание Пример значения
category_id int ID категории 5
image string Путь к изображению категории ...
parent_id int ID родительской категории 3010
top boolean Флаг, который обозначает, показывать ли категорию в меню на сайте 0
column int ... 1
sort_order int Порядок сортировки категории в списке 1
status boolean Флаг, обозначающий, активна ли категория 1
date_added string Дата добавления категории 2014-10-22 17:26:41
date_modified string Дата последнего изменения категории 2014-10-22 17:26:41
language_id int ID языка, в котором получено описание категории 2
name string Название категории Мобильные телефоны
description string Описание категории Мобильные телефоны передовых производителей
meta_description string Поле, значение из которого помещается в html мета-тег description в карточке товара ...
meta_keyword string Аналогично с meta_description телефоны, мобильные, новинки, дешевые телефоны
store_id string ID магазина, для которого производилась выборка (зачастую значение 0) 0
!!! Важно отметить, что выборка произойдет только по активным категориям (у которых поле status в базе данных = 1).

Пример использования:

// пример вызова из контроллера
$this->model_catalog_category->getCategories(0);

Исходный код

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "'  AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");

return $query->rows;