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-2025, «1С-Битрикс», 2025