Docs For Class Filter

Filter

Описание

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

Методы класса
array getApplyFilterList() Возвращает список доступных характеристик выбранной категории, для дальнейшего построения блока фильтров.
string getFilterSql() Получает примерно такой массив.
string getHtmlFilter() Возвращает HTML верстку блока с фильтрами по каталогу товаров.
string getHtmlFilterAdmin() Возвращает HTML верстку блока с фильтрами по каталогу товаров (для панели администратора).
string getHtmlPropertyFilter() Строит HTML верстку для фильтра по характеристикам.
string getHtmlPropertyFilterAdmin() Строит HTML верстку для фильтра по характеристикам в админке.
array getProductIdByFilter() Возвращает id всех товаров удовлетворяющих фильтру по характеристикам.
Описание методов и примеры их использования

Метод

array getApplyFilterList ()

Описание

Возвращает список доступных характеристик выбранной категории, для дальнейшего построения блока фильтров.

Пример использования

  1.    $filter new Filter();
  2.    $res $filter->getApplyFilterList();
  3.    viewData($res);

Метод

string getFilterSql (array $data, [array $sorter = array()], [bool $insideCat = true])

Параметры

  • $data: - массив параметров по фильтрам
  • $sorter: - массив содержащий поле, и направление сортировки $sorter = array('id', 'asc' ); по которому следует отсортировать выборку например ID и направление сортировки
  • $insideCat: - если true, то учитывать вложенные категории

Описание

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

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

Метод

string getHtmlFilter ([array $submit = false])

Параметры

  • $submit: флаг, для вывода кнопки отправки формы.

Описание

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

Пример использования

  1.   $filter new Filter();
  2.   $res $filter->getHtmlFilter();
  3.   viewData($res);

Метод

string getHtmlFilterAdmin ([array $submit = false])

Параметры

  • $submit: флаг, для вывода кнопки отправки формы.

Описание

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

Пример использования

  1.   $filter new Filter();
  2.   $res $filter->getHtmlFilterAdmin();
  3.   viewData($res);

Метод

string getHtmlPropertyFilter ()

Описание

Строит HTML верстку для фильтра по характеристикам.

Пример использования

  1.   $_REQUEST['category_id'1;
  2.   $filter new Filter();
  3.   $res $filter->getHtmlPropertyFilter();
  4.   viewData($res);

Метод

string getHtmlPropertyFilterAdmin ()

Описание

Строит HTML верстку для фильтра по характеристикам в админке.

Пример использования

  1.   $property array(
  2.     'phone' => array(
  3.         'type' => 'text',
  4.         'special' => 'like',
  5.         'label' => '1',
  6.         'value' => null,
  7.     ));
  8.   $filter new Filter($property);
  9.   $res $filter->getHtmlPropertyFilterAdmin();
  10.   viewData($res);

Метод

array getProductIdByFilter (array $properties)

Параметры

  • $properties: массив с ключами переданных массивов с характеристиками

Описание

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

Пример использования

  1.    $filter new Filter();
  2.    $array Array(       // массив с параметрами от фильтра
  3.      20 => Array(        // id характеристики
  4.          => '2859|pp'  // id значения характеристики | тип характеристики (pp - простые характеристики, mp - сложные характеристики)
  5.      ));
  6.    $res $filter->getProductIdByFilter($array);
  7.    viewData($res);