Центр документации
Карта сайта

Создай визитку сам!


Самоучитель по интеграции дизайна и настройке Amiro.CMS на примере демонстрационной версии пакета Визитка »


Фильтр - определение набора и порядка полей

Определение набора полей фильтра осуществляется в конструкторе модели фильтра.

Для добавления поля фильтра необходимо использовать метод addViewField.

Пример:

class AmiClean_AmiSample_FilterModelAdm extends Hyper_AmiClean_FilterModelAdm{
 
    public function __construct(){
        $this->addViewField(
            array(
                'name'          => 'nickname',
                'type'          => 'input',
                'flt_type'      => 'text',
                'flt_default'   => '',
                'flt_condition' => 'like',
                'flt_column'    => 'nickname'
            )
        );
        $this->addViewField(
            array(
                'name'          => 'datefrom',
                'type'          => 'datefrom',
                'flt_type'      => 'date',
                'flt_default'   => AMI_Lib_Date::formatUnixTime(AMI_Lib_Date::UTIME_MIN),
                'flt_condition' => '>=',
                'flt_column'    => 'birth'
            )
        );
        $this->addViewField(
            array(
                'name'          => 'dateto',
                'type'          => 'dateto',
                'flt_type'      => 'date',
                'flt_default'   => AMI_Lib_Date::formatUnixTime(AMI_Lib_Date::UTIME_MAX),
                'flt_condition' => '<',
                'flt_column'    => 'birth'
            )
        );
    }
}


Параметром метода является ассоциативный массив. В зависимости от типа добавляемого поля, необходимо указывать различные элементы в массиве. 

Общие параметры: 

Ключ

Значение

Комментарий

name

Строка

Название поля

type

input, checkbox, datetime, date, select, radio, hidden

Тип поля

flt_type

text, date, select

Тип обработки поля

value

Строка

Текущее значение

flt_default

Строка

Значение по умолчанию

flt_condition

like, =, >, <, >=, <= 

Условие фильтрации:

flt_column

Строка

Название поля модели, по которому идет фильтрация

html

Строка

HTML код элемента управления

Порядок элементов фильтра задается при помощи формирования позиций элементов, аналогично заданию порядка столбцов в табличном списке. 

class AmiClean_AmiSample_FilterViewAdm extends Hyper_AmiClean_FilterViewAdm{
    protected $aPlaceholders = array(
        '#filter',
            'nickname', 'datefrom', 'dateto',
        'filter'
    );
}

Для создания собственного элемента управления, необходимо передать значение html в массиве параметров.

Пример:

$this->addField(array('name' => 'my_ctrl', 'html' => $ctrlHtml));

Заголовки

Заголовки полей описываются в файле языковых переменных фильтра _local/_admin/templates/lang/60/{$modId}_filter.lng

Имена переменных должны соответствовать формату "filter_field_имяПоля" либо "caption_имяПоля"

Например:

%%caption_nickname%en%%
Nickname
%%caption_nickname%ru%%
Имя
 
%%filter_field_dateto%en%%
To:
%%filter_field_dateto%ru%%
По дату:
Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2021 © Amiro.CMS Все права защищены.