Category

Описание

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

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

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

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

Методы класса
string getParentUrl() Возвращает полный url категории по ее id.
$res MG::get('category')->getParentUrl(12);
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);
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 getCategoryTitleList()* Возвращает массив id категории и ее заголовок.
$res MG::get('category')->getCategoryTitleList();
viewData($res);
array getHierarchyCategory()* Возвращает иерархический массив категорий.
$res MG::get('category')->getHierarchyCategory();
viewData($res);
string getTitleCategory()* Возвращает отдельные пункты списка заголовков категорий.
$arrayCategories MG::get('category')->getArrayCategory();
$res MG::get('category')->getTitleCategory($arrayCategories);
viewData($res);
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);

Метод

bool|int addCategory (array $array)

Параметры

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

Результат работы метода можно изменить хуком: 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);

Метод

bool|int updateCategory (array $array)

Параметры

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

Результат работы метода можно изменить хуком: 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 родительской категории.

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

Описание

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

$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 getCategoryTitleList ()

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

Описание

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

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

Метод

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 =   --)

Параметры

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

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

Описание

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

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

Метод

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)

Параметры

  • $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 верстку строк для таблицы с категориями.