GroupAction
bool CAdminList::GroupAction( )
Функция возвращает массив строк которые редактируются.
Пример
// обработка одиночных и групповых действий if(($arID = $lAdmin->GroupAction()) && $POST_RIGHT=="W") { // если выбрано "Для всех элементов" if($_REQUEST['action_target']=='selected') { $cData = new CRubric; $rsData = $cData->GetList(array($by=>$order), $arFilter); while($arRes = $rsData->Fetch()) $arID[] = $arRes['ID']; } // пройдем по списку элементов foreach($arID as $ID) { if(strlen($ID)<=0) continue; $ID = IntVal($ID); // для каждого элемента совершим требуемое действие switch($_REQUEST['action']) { // удаление case "delete": @set_time_limit(0); $DB->StartTransaction(); if(!CRubric::Delete($ID)) { $DB->Rollback(); $lAdmin->AddGroupError(GetMessage("rub_del_err"), $ID); } $DB->Commit(); break; // активация/деактивация case "activate": case "deactivate": $cData = new CRubric; if(($rsData = $cData->GetByID($ID)) && ($arFields = $rsData->Fetch())) { $arFields["ACTIVE"]=($_REQUEST['action']=="activate"?"Y":"N"); if(!$cData->Update($ID, $arFields)) $lAdmin->AddGroupError(GetMessage("rub_save_error").$cData->LAST_ERROR, $ID); } else $lAdmin->AddGroupError(GetMessage("rub_save_error")." ".GetMessage("rub_no_rubric"), $ID); break; } } }
© «Битрикс», 2001-2024, «1С-Битрикс», 2024