Класс CAdminFilter
Описание и методы
CAdminFilter - класс для работы с фильтром списка результатов на странице панели управления.
Методы для работы с фильтром
Метод | Описание | С версии |
---|---|---|
CAdminFilter | Конструктор класса. | |
Begin | Вывод шапки фильтра. | |
Buttons | Вывод кнопок фильтра. | |
End | Завершение вывода фильтра. |
Пример работы с фильтром
Предварительная работа с фильтром осуществляется следующим образом:
// опишем элементы фильтра $FilterArr = Array( "find_id", "find_lid", "find_active", "find_visible", "find_auto", ); // инициализируем фильтр $lAdmin->InitFilter($FilterArr); // если все значения фильтра корректны, обработаем его { // создадим массив фильтрации для выборки CRubric::GetList() на основе значений фильтра $arFilter = Array( "ID" => $find_id, "LID" => $find_lid, "ACTIVE" => $find_active, "VISIBLE" => $find_visible, "AUTO" => $find_auto, ); } // далее, полученный массив передаем в CRubric::GetList()
Для вывода фильтра требуется сперва создать экземпляр класса CAdminFilter, передав ему список полей, а затем сформировать форму фильтра "вручную".
// создадим объект фильтра $oFilter = new CAdminFilter( $sTableID."_filter", array( 'find_id' => 'ID', 'find_lid' => Loc::getMessage("rub_f_site"), 'find_active' => Loc::getMessage("rub_f_active"), 'find_visible' => Loc::getMessage("rub_f_public"), 'find_auto' => Loc::getMessage("rub_f_auto"), ) ); <form name="find_form" method="get" action="<?echo $APPLICATION->GetCurPage();?>"> <?php $oFilter->Begin(); <tr> <td><?="ID"?>:</td> <td> <input type="text" name="find_id" size="47" value="<?echo htmlspecialchars($find_id)?>"> </td> </tr> <tr> <td><?=Loc::getMessage("rub_f_site").":"?></td> <td><input type="text" name="find_lid" size="47" value="<?echo htmlspecialchars($find_lid)?>"></td> </tr> <tr> <td><?=Loc::getMessage("rub_f_active")?>:</td> <td> <?php $arr = array( "reference" => array( Loc::getMessage("POST_YES"), Loc::getMessage("POST_NO"), ), "reference_id" => array( "Y", "N", ) ); echo SelectBoxFromArray("find_active", $arr, $find_active, Loc::getMessage("POST_ALL"), ""); </td> </tr> <tr> <td><?=Loc::getMessage("rub_f_public")?>:</td> <td><?echo SelectBoxFromArray("find_visible", $arr, $find_visible, Loc::getMessage("POST_ALL"), "");?></td> </tr> <tr> <td><?=Loc::getMessage("rub_f_auto")?>:</td> <td><?echo SelectBoxFromArray("find_auto", $arr, $find_auto, Loc::getMessage("POST_ALL"), "");?></td> </tr> <?php $oFilter->Buttons(array("table_id"=>$sTableID,"url"=>$APPLICATION->GetCurPage(),"form"=>"find_form")); $oFilter->End(); </form>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024