Класс 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( "ID", GetMessage("rub_f_site"), GetMessage("rub_f_active"), GetMessage("rub_f_public"), GetMessage("rub_f_auto"), ) ); ?> <form name="find_form" method="get" action="<?echo $APPLICATION->GetCurPage();?>"> <?$oFilter->Begin();?> <tr> <td><?="ID"?>:</td> <td> <input type="text" name="find_id" size="47" value="<?echo htmlspecialchars($find_id)?>"> </td> </tr> <tr> <td><?=GetMessage("rub_f_site").":"?></td> <td><input type="text" name="find_lid" size="47" value="<?echo htmlspecialchars($find_lid)?>"></td> </tr> <tr> <td><?=GetMessage("rub_f_active")?>:</td> <td> <? $arr = array( "reference" => array( GetMessage("POST_YES"), GetMessage("POST_NO"), ), "reference_id" => array( "Y", "N", ) ); echo SelectBoxFromArray("find_active", $arr, $find_active, GetMessage("POST_ALL"), ""); ?> </td> </tr> <tr> <td><?=GetMessage("rub_f_public")?>:</td> <td><?echo SelectBoxFromArray("find_visible", $arr, $find_visible, GetMessage("POST_ALL"), "");?></td> </tr> <tr> <td><?=GetMessage("rub_f_auto")?>:</td> <td><?echo SelectBoxFromArray("find_auto", $arr, $find_auto, GetMessage("POST_ALL"), "");?></td> </tr> <? $oFilter->Buttons(array("table_id"=>$sTableID,"url"=>$APPLICATION->GetCurPage(),"form"=>"find_form")); $oFilter->End(); ?> </form>
© «Битрикс», 2001-2023, «1С-Битрикс», 2023