Models_Catalog

Описание

Модель: Catalog


Класс Models_Catalog реализует логику работы с каталогом товаров.

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

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

bool getCurrentCategory() * Записывает в переменную класса массив содержащий ссылку и название текущей, открытой категории товаров.
$catalog = new Models_Catalog;
$catalog->getCurrentCategory();
array getList() * Возвращает список товаров и пейджер для постраничной навигации.
$catalog = new Models_Catalog;
$items $catalog->getList(6falsetrue);
viewData($items);
array getListByUserFilter() * Получает список продуктов в соответствии с выбранными параметрами фильтра.
$catalog = new Models_Catalog;
$result $catalog->getListByUserFilter(20' p.cat_id IN  (1,2,3)');
viewData($result);
array getListProductByKeyWord() * Возвращает список найденных продуктов соответствующих поисковой фразе.
$catalog = new Models_Catalog();
$items $catalog->getListProductByKeyWord('Nike'truetrue);
viewData($items);
void rowCsvPrintToFile() Записывает построчно CSV выгрузку в файл data_csv_m_d_Y.csv в корневую папку сайта.
array exportToCsv() Выгружает содержание всего каталога в CSV файл.
$listProductId = array(12525);
$catalog = new Models_Catalog();
$result $catalog->exportToCsv($listProductId);
viewData($result);
string addToCsvLine() Добавляет продукт в CSV выгрузку.
$model = new Models_Product;
$product $model->getProduct(5);
echo 
Models_Catalog::addToCsvLine($product);
array getCategoryArray() Получает массив всех категорий магазина.
$catalog = new Models_Catalog();
$categoryArray $catalog->getCategoryArray();
viewData($categoryArray);
float getMinPrice() Получает минимальную цену из всех стоимостей товаров (варианты тоаров не учитываются).
echo Models_Catalog::getMinPrice();
float getMaxPrice() Получает максимальную цену из всех стоимостей товаров (варианты тоаров не учитываются).
echo Models_Catalog::getMaxPrice();
void getExampleCategoryCSV() Возвращает пример загружаемого файла, содержащего информацию о категориях.
Models_Catalog::getExampleCategoryCSV();
void getExampleCSV() Возвращает пример загружаемого каталога.
Models_Catalog::getExampleCSV();
void getExampleCsvUpdate() Возвращает пример CSV файла для обновления цен товаров.
Models_Catalog::getExampleCsvUpdate();
array filterPublic() * Метод для обработки фильтрации товаров в каталоге.
$catalog = new Models_Catalog();
$result $catalog->filterPublic();
viewData($result);
array addPropertyToProduct() Метод добавляет к массиву продуктов информацию о характеристиках
для каждого продукта.
$catalog = new Models_Catalog;
$products $catalog->addPropertyToProduct($products);
string checkIndexPageBlocks() * Метод содержит хук для изменения sql запроса на получение блоков новинки/хиты/акции на главной странице
array modFilterMinMaxPricesWhere() * Метод содержит хук для изменения части sql запроса на получение min/max цен при построении фильтра
array modFilterMinMaxPrices() * Метод содержит хук для изменения результата получения min/max цен при построении фильтра
string modUserFilterNavigatorSql() * Метод содержит хук для изменения sql перед построением пагинации при применении фильтра
Описание методов и примеры их использования

Метод

bool getCurrentCategory ()

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

Описание

Записывает в переменную класса массив содержащий ссылку и название текущей, открытой категории товаров.

$catalog = new Models_Catalog;
$catalog->getCurrentCategory();

Метод

array getList (int $countRows 20bool $mgadmin falsebool $onlyActive false)

Параметры

  • $countRows: количество возвращаемых записей для одной страницы.
  • $mgadmin: откуда вызван метод, из публичной части или панели управления.
  • $onlyActive: учитывать только активные продукты.

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

Описание

Возвращает список товаров и пейджер для постраничной навигации.

$catalog = new Models_Catalog;
$items $catalog->getList(6falsetrue);
viewData($items);

Метод

array getListByUserFilter (int $countRowsstring $userfilterbool $mgadmin falsebool $noCache false)

Параметры

  • $countRows: количество записей.
  • $userfilter: пользовательская составляющая для запроса.
  • $mgadmin: админка.
  • $noCache: не использовать кэш.

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

Описание

Получает список продуктов в соответствии с выбранными параметрами фильтра.

$catalog = new Models_Catalog;
$result $catalog->getListByUserFilter(20' p.cat_id IN  (1,2,3)');
viewData($result);

Метод

array getListProductByKeyWord (string $keywordstring $allRows falsestring $onlyActive falsebool $adminPanel falsebool $mode falsebool|int $forcedPage falseint $searchCats = -1)

Параметры

  • $keyword: поисковая фраза.
  • $allRows: получить сразу все записи.
  • $onlyActive: учитывать только активные продукты.
  • $adminPanel: запрос из публичной части или админки.
  • $mode: (не используеться)
  • $forcedPage: номер страницы использующийся вместо url
  • $searchCats: поиск в категории (оставить пустым если не надо искать)

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

Описание

Возвращает список найденных продуктов соответствующих поисковой фразе.

$catalog = new Models_Catalog();
$items $catalog->getListProductByKeyWord('Nike'truetrue);
viewData($items);

Метод

void rowCsvPrintToFile (array $csvTextbool $new false)

Параметры

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

Описание

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

Метод

array exportToCsv (array $listProductId)

Параметры

  • $listProductId: массив id товаров

Описание

Выгружает содержание всего каталога в CSV файл.

$listProductId = array(12525);
$catalog = new Models_Catalog();
$result $catalog->exportToCsv($listProductId);
viewData($result);

Метод

string addToCsvLine (array $rowbool $variant false)

Параметры

  • $row: - продукт.
  • $variant: - есть ли варианты этого продукта.

Описание

Добавляет продукт в CSV выгрузку.

$model = new Models_Product;
$product $model->getProduct(5);
echo 
Models_Catalog::addToCsvLine($product);

Метод

array getCategoryArray ()

Описание

Получает массив всех категорий магазина.

$catalog = new Models_Catalog();
$categoryArray $catalog->getCategoryArray();
viewData($categoryArray);

Метод

float getMinPrice ()

Описание

Получает минимальную цену из всех стоимостей товаров (варианты тоаров не учитываются).

echo Models_Catalog::getMinPrice();

Метод

float getMaxPrice ()

Описание

Получает максимальную цену из всех стоимостей товаров (варианты тоаров не учитываются).

echo Models_Catalog::getMaxPrice();

Метод

getExampleCategoryCSV ()

Описание

Возвращает пример загружаемого файла, содержащего информацию о категориях.

Models_Catalog::getExampleCategoryCSV();

Метод

getExampleCSV ()

Описание

Возвращает пример загружаемого каталога.

Models_Catalog::getExampleCSV();

Метод

getExampleCsvUpdate ()

Описание

Возвращает пример CSV файла для обновления цен товаров.

Models_Catalog::getExampleCsvUpdate();

Метод

array filterPublic (bool $noneAjax truebool $onlyInCount falsebool $onlyActive true, array $sortFields = Array, string $baseSort sort|-1)

Параметры

  • $noneAjax: построение HTML для использования AJAX запросов.
  • $onlyInCount: учитывать только товары в наличии,
  • $onlyActive: учитывать только активные товары,
  • $sortFields: массив доступных сортировок товаров.
  • $baseSort: сортировка по умолчанию,

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

Описание

Метод для обработки фильтрации товаров в каталоге.

$catalog = new Models_Catalog();
$result $catalog->filterPublic();
viewData($result);

Метод

array addPropertyToProduct (array $arrayProductsbool $mgadmin falsebool $changePic true)

Параметры

  • $arrayProducts: массив с продуктами
  • $mgadmin: если из админки
  • $changePic: заменять изображение

Описание

Метод добавляет к массиву продуктов информацию о характеристиках
для каждого продукта.

$catalog = new Models_Catalog;
$products $catalog->addPropertyToProduct($products);

Метод

string checkIndexPageBlocks (string $sqlstring $block)

Параметры

  • $sql: запрос
  • $block: тип блока

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

Описание

Метод содержит хук для изменения sql запроса на получение блоков новинки/хиты/акции на главной странице

Метод

array modFilterMinMaxPricesWhere (array $whereArr)

Параметры

  • $whereArr: массив с данными для построения фильтра

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

Описание

Метод содержит хук для изменения части sql запроса на получение min/max цен при построении фильтра

Метод

array modFilterMinMaxPrices (array $prices)

Параметры

  • $prices: массив с данными для построения фильтра

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

Описание

Метод содержит хук для изменения результата получения min/max цен при построении фильтра

Метод

string modUserFilterNavigatorSql (string $sql)

Параметры

  • $sql: часть запроса

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

Описание

Метод содержит хук для изменения sql перед построением пагинации при применении фильтра