Filter

Описание

Класс Filter - конструктор для фильтров. Создает фильтры по полям таблиц в базе. Используется преимущественно в панели управления. Также отвечает за вывод фильтра по цене и характеристикам в публичной части.

Методы класса
array getApplyFilterList() Возвращает список доступных характеристик выбранной категории, для дальнейшего построения блока фильтров.
string getFilterSql() Получает примерно такой массив.
string getHtmlFilter() Возвращает HTML верстку блока с фильтрами по каталогу товаров.
string getHtmlPropertyFilter() Строит HTML верстку для фильтра по характеристикам.
array getProductIdByFilter() Строит sql запрос для поиска всех id товаров удовлетворяющих фильтру по характеристикам.
Описание методов и примеры их использования
public string getFilterSql (type $data, [type $sorter = array()], [bool $insideCat = true])
  • type $data: - массив параметров по фильтрам
  • type $sorter: - массив содержащий поле, и направление сортировки $sorter = array('id', 'asc' ); по которому следует отсортировать выборку например ID и направление сортировки
  • bool $insideCat: - учитывать вложенные категории или нет

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

$array = array( 'category' => '2', 'price'=>array(10,100), 'code'=> 'ABC', 'rows'=> 20, );

public string getHtmlFilter ([array $submit = false])
  • array $submit: флаг, для вывода кнопки отправки формы.

Возвращает HTML верстку блока с фильтрами по каталогу товаров.

public array getProductIdByFilter (array $properties, [string $where = ''])
  • array $properties: массив с ключами переданных массивов с характеристиками
  • string $where: условие выборки.

Строит sql запрос для поиска всех id товаров удовлетворяющих фильтру по характеристикам.