Category

Описание

Класс Category - совершает все операции с категориями товаров.

- Создает новую категорию;
- Удаляет категорию;
- Редактирует категорию;
- Возвращает список id всех вложенных категорий;
- Возвращает древовидный список категорий, пригодный для использования в меню;
- Возвращает массив id категории и ее заголовок;
- Возвращает иерархический массив категорий;
- Возвращает отдельные пункты списка заголовков категорий.
- Генерирует UL список категорий для вывода в меню.
- Экземпляр класса категорий хранится в реестре класс MG

//пример вызова метода getCategoryListUl() из любого места в коде.
MG::get('category')->getCategoryListUl()

Методы со знаком * содержат хуки

Методы класса

string getParentUrl() Возвращает полный url категории по ее id.
$res MG::get('category')->getParentUrl(12);
viewData($res);
string resizeCategoryImg() Сжимает изображение категории, по заданным в настройках параметрам.
$imageUrl 'uploads/image.png';
$res MG::get('category')->resizeCategoryImg($imageUrl);
viewData($res);
bool|int addCategory() * Создает новую категорию.
$array = array(
    
'id' => ,              // id
    
'unit' => 'шт.',       // единица измерения товаров
    
'title' => 123,        // название категории
    
'url' => 123,          // url последней секции категории
    
'parent' => 0,         // id родительской категории
    
'html_content' => ,    // описание категории
    
'meta_title' => ,      // заголовок страницы
    
'meta_keywords' => ,   // ключевые слова
    
'meta_desc' => ,       // мета описание
    
'image_url' => ,       // ссылка на изображение
    
'menu_icon' => ,       // ссылка на иконку меню
    
'invisible' => 0,      // параметр видимости
    
'rate' => 0,           // наценка
    
'seo_content' => ,     // seo контент
    
'seo_alt' => ,         // seo
    
'seo_title' => ,       // seo
    
'parent_url' => ,      // url родительской категории
);
$res MG::get('category')->addCategory($array);
viewData($res);

$checks = [
'url'             => (bool) Проверять ли и подготавливать url
'html'            => (bool) Отфильтровать html теги в некоторых полях
'urlDuplicate'    => (bool) Проверка на дублирующуюся ссылку
'resizeImages'    => (bool) Обрезать изображения
'moveCKImages'    => (bool) Перенос изображений из CK Editor
'lang'            => (bool) Подготовка локалей
'childrenParents' => (bool) Проверка наследования категорий
'indexation'      => (bool) Сгенерировать NESTED SETS
'clearCache'      => (bool) Очистить кэш категорий
];
bool|int updateCategory() * Изменяет данные о категории.
$array = array(
    
'id' => ,              // id
    
'unit' => 'шт.',       // единица измерения товаров
    
'title' => 123,        // название категории
    
'url' => 123,          // url последней секции категории
    
'parent' => 0,         // id родительской категории
    
'html_content' => ,    // описание категории
    
'meta_title' => ,      // заголовок страницы
    
'meta_keywords' => ,   // ключевые слова
    
'meta_desc' => ,       // мета описание
    
'image_url' => ,       // ссылка на изображение
    
'menu_icon' => ,       // ссылка на иконку меню
    
'invisible' => 0,      // параметр видимости
    
'rate' => 0,           // наценка
    
'seo_content' => ,     // seo контент
    
'seo_alt' => ,         // seo
    
'seo_title' => ,       // seo
    
'parent_url' => ,      // url родительской категории
);
$res MG::get('category')->updateCategory($array);
viewData($res);
bool delCategory() * Удаляет категорию.
$res MG::get('category')->delCategory(12);
viewData($res);
string getCategoriesHTML() * Возвращает закэшированное левое меню категорий.
$res MG::get('category')->getCategoriesHTML();
viewData($res);
string getCategoriesHorHTML() * Возвращает закэшированное горизонтальное меню категорий.
$res MG::get('category')->getCategoriesHorHTML();
viewData($res);
string getCategoryListUl() * Возвращает древовидный список категорий, пригодный для использования в меню.
$res MG::get('category')->getCategoryListUl();
viewData($res);
string. getChildCategoryIds() Возвращает массив вложенных категорий первого уровня.
$parentId 5// id родительской категории
$res MG::get('category')->getChildCategoryIds($parentId);
viewData($res);
array getCategoryList() * Возвращает список только id всех вложеных категорий.
$parentId 5// id родительской категории
$res MG::get('category')->getCategoryList($parentId);
viewData($res);
array getChildsCategory() Возвращает список id всех вложеных категорий.
Отличие от getCategoryList в том, что при вызове данного метода происходит перезапись переменной listCategoryId
В следствии чего не происходит добавления новых категорий к уже существующим категориям в этой переменной, если этот метод был вызван ранее
$parent 5// id родительской категории
$res MG::get('category')->getChildsCategory($parentId);
viewData($res);
array getCategoryTitleList() * Возвращает массив id категории и ее заголовок.
$res MG::get('category')->getCategoryTitleList();
viewData($res);
void getInsideCategory() * Возвращает вложенные категории одного уровня в выбранной.
array getHierarchyCategory() * Возвращает иерархический массив категорий.
$res MG::get('category')->getHierarchyCategory();
viewData($res);
string getTitleCategory() * Возвращает отдельные пункты списка заголовков категорий.
$arrayCategories MG::get('category')->getArrayCategory();
$res MG::get('category')->getTitleCategory($arrayCategories);
viewData($res);
void moveCategory() Перемещает категорию
array getCategoryByUrl() * Получает параметры категори по его URL.
$url 'chasy-sekundomery-shagomery';
$parentUrl 'aksessuary';
$res MG::get('category')->getCategoryByUrl($url$parentUrl);
viewData($res);
array getCategoryById() * Получает параметры категори по его Id.
$res MG::get('category')->getCategoryById(12);
viewData($res);
array getUserPropertyCategoryById() Возвращает массив пользовательских характеристик для заданной категории.
$res MG::get('category')->getUserPropertyCategoryById(12);
viewData($res);
array getPropertyForCategoryById() Возвращает массив id всех характеристик для заданной категории.
$res MG::get('category')->getPropertyForCategoryById(12);
viewData($res);
array getArrayCategory() Возвращает массив всех категорий каталога.
$res MG::get('category')->getArrayCategory();
viewData($res);
array getDesctiption() * Получает описание категории.
$res MG::get('category')->getDesctiption(12);
viewData($res);
string getImageCategory() Получает изображение категории.
$res MG::get('category')->getImageCategory(12);
viewData($res);
int sort() Упорядочивает категорию по сортировке.
bool changeSortCat() Меняет местами параметры сортировки двух категории.
bool clearCategoryRate() Отменяет скидки и наценки для выбранной категории.
$res MG::get('category')->clearCategoryRate(12);
viewData($res);
bool applyRateToSubCategory() Применяет скидку/наценку ко всем вложенным подкатегориям.
$res MG::get('category')->applyRateToSubCategory(12);
viewData($res);
int getCategoryCount() Возвращает общее количество категорий каталога.
$res MG::get('category')->getCategoryCount();
viewData($res);
void sortToAlphabet() Сортировка по алфавиту.
MG::get('category')->sortToAlphabet();
void sortToAdd() Сортировка по порядку добавления категорий на сайт.
MG::get('category')->sortToAdd();
void exportToCsv() Выгрузка категории в CSV.
MG::get('category')->exportToCsv();
void addToCsvLine() По входящим данным формирует новую строку CSV файла, в требуемом формате.
$array = array(
    
'title' => 'Смартфоны',                  // название категории
    
'url' => 'smartfony',                    // url
    
'parent' => 0,                           // id родительской категори
    
'parent_url' => ,                        // родительский url
    
'html_content' => ,                      // содеражние страницы
    
'image_url' => '/uploads/cat_smart.png'// ссылка на изображение
    
'meta_title' => ,                        // заголовок страницы
    
'meta_keywords' => ,                     // ключевые слова
    
'meta_desc' => ,                         // мета описание
    
'seo_content' => ,                       // seo контент
    
'rate' => 0,                             // наценка
    
'invisible' => 0,                        // параметр видимости
    
'activity' => 1,                         // параметр активности
    
'export' => 1,                           //
    
'sort' => 1,                             // порядок сортировки
    
'1c_id' => ,                             // идентификатор в 1с
    
'id' => 1,                               // id
    
'seo_title' => ,                         // seo title
    
'seo_alt' => ,                           // seo alt
);
$res MG::get('category')->addToCsvLine($array);
viewData($res);
void rowCsvPrintToFile() Записывает построчно CSV выгрузку в файл data_csv_m_d_Y.csv в директорию временных файлов сайта.
$csvText MG::get('category')->addToCsvLine($array);
MG::get('category')->rowCsvPrintToFile($csvText);
viewData($res);
string getPages() Возвращает строки для таблицы с категориями в админке.
string getPagesSimple() возвращает строки для таблицы с категориями (упрощенный).
string getHtmlPageRowSimple() возвращает html верстку строк для таблицы с категориями (упрощенный).
string getHtmlPageRow() возвращает html верстку строк для таблицы с категориями.
Описание методов и примеры их использования

Метод

string getParentUrl ($parentId)

Параметры

  • $parentId: - id категории для которой нужно найти UR родителя.

Описание

Возвращает полный url категории по ее id.

$res MG::get('category')->getParentUrl(12);
viewData($res);

Метод

string resizeCategoryImg ($resize true)

Параметры

  • string путь к файлу

Описание

Сжимает изображение категории, по заданным в настройках параметрам.

$imageUrl 'uploads/image.png';
$res MG::get('category')->resizeCategoryImg($imageUrl);
viewData($res);

Метод

bool|int addCategory (array $array, array $checks)

Параметры

  • $array: массив с данными о категории.
  • $checks: массив со списком проверок и подготовок данных к созданию категории

Результат работы метода можно изменить хуком: Category_addCategory

Описание

Создает новую категорию.

$array = array(
    
'id' => ,              // id
    
'unit' => 'шт.',       // единица измерения товаров
    
'title' => 123,        // название категории
    
'url' => 123,          // url последней секции категории
    
'parent' => 0,         // id родительской категории
    
'html_content' => ,    // описание категории
    
'meta_title' => ,      // заголовок страницы
    
'meta_keywords' => ,   // ключевые слова
    
'meta_desc' => ,       // мета описание
    
'image_url' => ,       // ссылка на изображение
    
'menu_icon' => ,       // ссылка на иконку меню
    
'invisible' => 0,      // параметр видимости
    
'rate' => 0,           // наценка
    
'seo_content' => ,     // seo контент
    
'seo_alt' => ,         // seo
    
'seo_title' => ,       // seo
    
'parent_url' => ,      // url родительской категории
);
$res MG::get('category')->addCategory($array);
viewData($res);

$checks = [
'url'             => (bool) Проверять ли и подготавливать url
'html'            => (bool) Отфильтровать html теги в некоторых полях
'urlDuplicate'    => (bool) Проверка на дублирующуюся ссылку
'resizeImages'    => (bool) Обрезать изображения
'moveCKImages'    => (bool) Перенос изображений из CK Editor
'lang'            => (bool) Подготовка локалей
'childrenParents' => (bool) Проверка наследования категорий
'indexation'      => (bool) Сгенерировать NESTED SETS
'clearCache'      => (bool) Очистить кэш категорий
];

Метод

bool|int updateCategory (array $array$checks)

Параметры

  • $array: массив с данными о категории.
  • $checks: массив со списком проверок и подготовок данных к созданию категории
  • $checks: = [
  • 'url' => (bool) Проверять ли и подготавливать url
  • 'html' => (bool) Отфильтровать html теги в некоторых полях
  • 'urlDuplicate' => (bool) Проверка на дублирующуюся ссылку
  • 'resizeImages' => (bool) Обрезать изображения
  • 'moveCKImages' => (bool) Перенос изображений из CK Editor
  • 'lang' => (bool) Подготовка локалей
  • 'childrenParents' => (bool) Проверка наследования категорий
  • 'indexation' => (bool) Сгенерировать NESTED SETS
  • 'clearCache' => (bool) Очистить кэш категорий
  • ];

Результат работы метода можно изменить хуком: Category_updateCategory

Описание

Изменяет данные о категории.

$array = array(
    
'id' => ,              // id
    
'unit' => 'шт.',       // единица измерения товаров
    
'title' => 123,        // название категории
    
'url' => 123,          // url последней секции категории
    
'parent' => 0,         // id родительской категории
    
'html_content' => ,    // описание категории
    
'meta_title' => ,      // заголовок страницы
    
'meta_keywords' => ,   // ключевые слова
    
'meta_desc' => ,       // мета описание
    
'image_url' => ,       // ссылка на изображение
    
'menu_icon' => ,       // ссылка на иконку меню
    
'invisible' => 0,      // параметр видимости
    
'rate' => 0,           // наценка
    
'seo_content' => ,     // seo контент
    
'seo_alt' => ,         // seo
    
'seo_title' => ,       // seo
    
'parent_url' => ,      // url родительской категории
);
$res MG::get('category')->updateCategory($array);
viewData($res);

Метод

bool delCategory (int $id)

Параметры

  • $id: удаляемой категории.

Результат работы метода можно изменить хуком: Category_delCategory

Описание

Удаляет категорию.

$res MG::get('category')->delCategory(12);
viewData($res);

Метод

string getCategoriesHTML ()

Результат работы метода можно изменить хуком: Category_getCategoriesHTML

Описание

Возвращает закэшированное левое меню категорий.

$res MG::get('category')->getCategoriesHTML();
viewData($res);

Метод

string getCategoriesHorHTML ()

Результат работы метода можно изменить хуком: Category_getCategoriesHorHTML

Описание

Возвращает закэшированное горизонтальное меню категорий.

$res MG::get('category')->getCategoriesHorHTML();
viewData($res);

Метод

string getCategoryListUl (int $parentint $type = public, bool $recursion true$sql true$categories)

Параметры

  • $parent: id категории, для которой надо вернуть список.
  • $type: тип списка (для публичной части, либо для админки).
  • $recursion: использовать рекурсию.

Результат работы метода можно изменить хуком: Category_getCategoryListUl

Описание

Возвращает древовидный список категорий, пригодный для использования в меню.

$res MG::get('category')->getCategoryListUl();
viewData($res);

Метод

stringgetChildCategoryIds (int $parent$parentId)

Параметры

  • $parent: id родительской категории.

Описание

Возвращает массив вложенных категорий первого уровня.

$parentId 5// id родительской категории
$res MG::get('category')->getChildCategoryIds($parentId);
viewData($res);

Метод

array getCategoryList (int $parent$sql true$categories)

Параметры

  • $parent: id родительской категории

Результат работы метода можно изменить хуком: Category_getCategoryList

Описание

Возвращает список только id всех вложеных категорий.

$parentId 5// id родительской категории
$res MG::get('category')->getCategoryList($parentId);
viewData($res);

Метод

array getChildsCategory (int $parent)

Параметры

  • $parent: id родительской категории

Описание

Возвращает список id всех вложеных категорий.
Отличие от getCategoryList в том, что при вызове данного метода происходит перезапись переменной listCategoryId
В следствии чего не происходит добавления новых категорий к уже существующим категориям в этой переменной, если этот метод был вызван ранее

$parent 5// id родительской категории
$res MG::get('category')->getChildsCategory($parentId);
viewData($res);

Метод

array getCategoryTitleList ()

Результат работы метода можно изменить хуком: Category_getCategoryTitleList

Описание

Возвращает массив id категории и ее заголовок.

$res MG::get('category')->getCategoryTitleList();
viewData($res);

Метод

getInsideCategory ($idCategory)

Результат работы метода можно изменить хуком: Category_getInsideCategory

Описание

Возвращает вложенные категории одного уровня в выбранной.

Метод

array getHierarchyCategory (int $parentbool $onlyActive false$sql true$categories)

Параметры

  • $parent: id родительской категории.
  • $onlyActive: возвращать только активные категории.

Результат работы метода можно изменить хуком: Category_getHierarchyCategory

Описание

Возвращает иерархический массив категорий.

$res MG::get('category')->getHierarchyCategory();
viewData($res);

Метод

string getTitleCategory (array $arrayCategoriesint $selectCategorybool $modeArray falsestring $prefix =   --, $printChildIds false)

Параметры

  • $arrayCategories: массив с категориями.
  • $selectCategory: id выбранной категории.
  • $modeArray: - если установлен этот флаг, то результат вернет массив а не HTML список
  • $prefix: префикс для подкатегорий

Результат работы метода можно изменить хуком: Category_getTitleCategory

Описание

Возвращает отдельные пункты списка заголовков категорий.

$arrayCategories MG::get('category')->getArrayCategory();
$res MG::get('category')->getTitleCategory($arrayCategories);
viewData($res);

Метод

void moveCategory (string $catIdstring $parentId)

Параметры

  • $catId: id перемещаемой категории.
  • $parentId: id категории, в которую перемещать.

Описание

Перемещает категорию

Метод

array getCategoryByUrl (string $urlstring $parentUrl)

Параметры

  • $url: запрашиваемой категории.
  • $parentUrl: родительской категории.

Результат работы метода можно изменить хуком: Category_getCategoryByUrl

Описание

Получает параметры категори по его URL.

$url 'chasy-sekundomery-shagomery';
$parentUrl 'aksessuary';
$res MG::get('category')->getCategoryByUrl($url$parentUrl);
viewData($res);

Метод

array getCategoryById (string $id$localize false)

Параметры

  • $id: запрашиваемой категории.

Результат работы метода можно изменить хуком: Category_getCategoryById

Описание

Получает параметры категори по его Id.

$res MG::get('category')->getCategoryById(12);
viewData($res);

Метод

array getUserPropertyCategoryById (string $id)

Параметры

  • $id: запрашиваемой категории.

Описание

Возвращает массив пользовательских характеристик для заданной категории.

$res MG::get('category')->getUserPropertyCategoryById(12);
viewData($res);

Метод

array getPropertyForCategoryById (string $id)

Параметры

  • $id: запрашиваемой категории.

Описание

Возвращает массив id всех характеристик для заданной категории.

$res MG::get('category')->getPropertyForCategoryById(12);
viewData($res);

Метод

array getArrayCategory ()

Описание

Возвращает массив всех категорий каталога.

$res MG::get('category')->getArrayCategory();
viewData($res);

Метод

array getDesctiption (int $id)

Параметры

  • $id: категории

Результат работы метода можно изменить хуком: Category_getDesctiption

Описание

Получает описание категории.

$res MG::get('category')->getDesctiption(12);
viewData($res);

Метод

string getImageCategory (int $id)

Параметры

  • $id: категории

Описание

Получает изображение категории.

$res MG::get('category')->getImageCategory(12);
viewData($res);

Метод

int sort (array $a, array $b)

Параметры

  • $a: первая категория
  • $b: вторая категория

Описание

Упорядочивает категорию по сортировке.

Метод

bool changeSortCat (int $oneIdint $twoId)

Параметры

  • $oneId: - id первой категории.
  • $twoId: - id второй категории.

Описание

Меняет местами параметры сортировки двух категории.

Метод

bool clearCategoryRate (int $id)

Параметры

  • $id: категории

Описание

Отменяет скидки и наценки для выбранной категории.

$res MG::get('category')->clearCategoryRate(12);
viewData($res);

Метод

bool applyRateToSubCategory ()

Параметры

  • id - id текущей категории

Описание

Применяет скидку/наценку ко всем вложенным подкатегориям.

$res MG::get('category')->applyRateToSubCategory(12);
viewData($res);

Метод

int getCategoryCount ()

Описание

Возвращает общее количество категорий каталога.

$res MG::get('category')->getCategoryCount();
viewData($res);

Метод

sortToAlphabet ()

Описание

Сортировка по алфавиту.

MG::get('category')->sortToAlphabet();

Метод

sortToAdd ()

Описание

Сортировка по порядку добавления категорий на сайт.

MG::get('category')->sortToAdd();

Метод

exportToCsv ()

Описание

Выгрузка категории в CSV.

MG::get('category')->exportToCsv();

Метод

void addToCsvLine (array $row)

Параметры

  • $row: массив со всеми данными о категории.

Описание

По входящим данным формирует новую строку CSV файла, в требуемом формате.

$array = array(
    
'title' => 'Смартфоны',                  // название категории
    
'url' => 'smartfony',                    // url
    
'parent' => 0,                           // id родительской категори
    
'parent_url' => ,                        // родительский url
    
'html_content' => ,                      // содеражние страницы
    
'image_url' => '/uploads/cat_smart.png'// ссылка на изображение
    
'meta_title' => ,                        // заголовок страницы
    
'meta_keywords' => ,                     // ключевые слова
    
'meta_desc' => ,                         // мета описание
    
'seo_content' => ,                       // seo контент
    
'rate' => 0,                             // наценка
    
'invisible' => 0,                        // параметр видимости
    
'activity' => 1,                         // параметр активности
    
'export' => 1,                           //
    
'sort' => 1,                             // порядок сортировки
    
'1c_id' => ,                             // идентификатор в 1с
    
'id' => 1,                               // id
    
'seo_title' => ,                         // seo title
    
'seo_alt' => ,                           // seo alt
);
$res MG::get('category')->addToCsvLine($array);
viewData($res);

Метод

void rowCsvPrintToFile (string $csvTextbool $new false)

Параметры

  • $csvText: csv строка.
  • $new: записывать в конец файла.

Описание

Записывает построчно CSV выгрузку в файл data_csv_m_d_Y.csv в директорию временных файлов сайта.

$csvText MG::get('category')->addToCsvLine($array);
MG::get('category')->rowCsvPrintToFile($csvText);
viewData($res);

Метод

string getPages (array $pagesArrayint $parentLevelint $parent)

Параметры

  • $pagesArray: массив с информацие о категориях
  • $parentLevel: уровень вложенности родительской страницы
  • $parent: id родительской характеристики

Описание

Возвращает строки для таблицы с категориями в админке.

Метод

string getPagesSimple (array $pagesArrayint $parentLevelint $parent)

Параметры

  • $pagesArray: массив с информацие о категориях
  • $parentLevel: уровень вложенности родительской страницы
  • $parent: id родительской характеристики

Описание

возвращает строки для таблицы с категориями (упрощенный).

Метод

string getHtmlPageRowSimple (array $pagesint $idint $level)

Параметры

  • $pages: массив с информацие о категориях
  • $id: категории
  • $level: уровень вложенности

Описание

возвращает html верстку строк для таблицы с категориями (упрощенный).

Метод

string getHtmlPageRow (array $pagesint $idint $level)

Параметры

  • $pages: массив с информацие о категориях
  • $id: категории
  • $level: уровень вложенности

Описание

возвращает html верстку строк для таблицы с категориями.