Класс Filter - конструктор для фильтров. Создает фильтры по полям таблиц в базе. Используется преимущественно в панели управления. Также отвечает за вывод фильтра по цене и характеристикам в публичной части.
Методы со знаком * содержат хуки
string | getFilterSql() * |
Получает примерно такой массив. $data = array( 'category' => '2', 'price'=>array(10,100), 'code'=> 'ABC', 'rows'=> 20, ); |
string | getHtmlFilter() |
Возвращает HTML верстку блока с фильтрами по каталогу товаров.
$filter = new Filter(); |
string | getHtmlFilterAdmin() |
Возвращает HTML верстку блока с фильтрами по каталогу товаров (для панели администратора).
$filter = new Filter(); |
string | getHtmlPropertyFilter() |
Строит HTML верстку для фильтра по характеристикам.
$_REQUEST['category_id'] = 1; |
string | getHtmlPropertyFilterAdmin() |
Строит HTML верстку для фильтра по характеристикам в админке.
$property = array( |
array | getProductIdByFilter() * |
Возвращает id всех товаров удовлетворяющих фильтру по характеристикам.
$filter = new Filter(); |
array | getApplyFilterList() * |
Возвращает список доступных характеристик выбранной категории, для дальнейшего построения блока фильтров.
$filter = new Filter(); |
Метод
string getFilterSql (array $data, $sorter, bool $insideCat = true)
Параметры
Результат работы метода можно изменить хуком: Filter_getFilterSql
Описание
Получает примерно такой массив.
$data = array(
'category' => '2',
'price'=>array(10,100),
'code'=> 'ABC',
'rows'=> 20,
);
Метод
string getHtmlFilter (array $submit = false)
Параметры
Описание
Возвращает HTML верстку блока с фильтрами по каталогу товаров.
$filter = new Filter();
$res = $filter->getHtmlFilter();
viewData($res);
Метод
string getHtmlFilterAdmin (array $submit = false)
Параметры
Описание
Возвращает HTML верстку блока с фильтрами по каталогу товаров (для панели администратора).
$filter = new Filter();
$res = $filter->getHtmlFilterAdmin();
viewData($res);
Метод
string getHtmlPropertyFilter ()
Описание
Строит HTML верстку для фильтра по характеристикам.
$_REQUEST['category_id'] = 1;
$filter = new Filter();
$res = $filter->getHtmlPropertyFilter();
viewData($res);
Метод
string getHtmlPropertyFilterAdmin ()
Описание
Строит HTML верстку для фильтра по характеристикам в админке.
$property = array(
'phone' => array(
'type' => 'text',
'special' => 'like',
'label' => '1',
'value' => null,
));
$filter = new Filter($property);
$res = $filter->getHtmlPropertyFilterAdmin();
viewData($res);
Метод
array getProductIdByFilter (array $properties)
Параметры
Результат работы метода можно изменить хуком: Filter_getProductIdByFilter
Описание
Возвращает id всех товаров удовлетворяющих фильтру по характеристикам.
$filter = new Filter();
$array = Array( // массив с параметрами от фильтра
20 => Array( // id характеристики
0 => '2859' // id значения характеристики | тип характеристики (pp - простые характеристики, mp - сложные характеристики)
));
$res = $filter->getProductIdByFilter($array);
viewData($res);
Метод
array getApplyFilterList ()
Результат работы метода можно изменить хуком: Filter_getApplyFilterList
Описание
Возвращает список доступных характеристик выбранной категории, для дальнейшего построения блока фильтров.
$filter = new Filter();
$res = $filter->getApplyFilterList();
viewData($res);