Скрипт для активации всех элементов в разделе или инфоблоке
2020.06.10
Скрипт постепенно с автоматической перезагрузкой страницы активирует все элементы в выбранном разделе инфоблока или во всём инфоблоке полностью
для запуска скрипта создаём страницу например в корне сайта и заменяем или вставляем код представленный ниже.
Для выбора нужного инфоблока присвойте переменной $IBLOCK_ID id инфоблока в котором нужно активировать все элементы.
Для выбора нужного раздела присвойте переменной $folder_id id нужного раздела в котором нужно активировать все элементы
Если нужно активировать все разделы в инфоблоке то присвойте false переменной $folder_id
для запуска скрипта создаём страницу например в корне сайта и заменяем или вставляем код представленный ниже.
Для выбора нужного инфоблока присвойте переменной $IBLOCK_ID id инфоблока в котором нужно активировать все элементы.
Для выбора нужного раздела присвойте переменной $folder_id id нужного раздела в котором нужно активировать все элементы
Если нужно активировать все разделы в инфоблоке то присвойте false переменной $folder_id
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); use \Bitrix\Main\Loader; Loader::includeModule('iblock'); $IBLOCK_ID = 17; /* id инфоблока */ $folder_id = 6107; /* id раздела */ if(empty($_SESSION['NumberPage'])){ $NumberPage = 1; }else{ $NumberPage = $_SESSION['NumberPage']; } $arFilter = array( 'ACTIVE' => 'N', 'IBLOCK_ID' => $IBLOCK_ID, 'SECTION_ID' => $folder_id, 'INCLUDE_SUBSECTIONS' => 'Y', ); $arSelect = array(); $arNavStartParams = array( "iNumPage" => $NumberPage, "nPageSize" => 100, ); $obElements = CIBlockElement::GetList(false, $arFilter, false, $arNavStartParams, $arSelect); if(empty($_SESSION['NavPageCount'])){ $_SESSION['NavPageCount'] = $obElements->NavPageCount; } while ($arElements = $obElements->Fetch()){ $arResult[] = $arElements; $el = new CIBlockElement(); $arLoadProductArray = array( "ACTIVE" => 'Y' ); $el->Update($arElements['ID'], $arLoadProductArray); } if($_SESSION['NavPageCount'] > $NumberPage){ $_SESSION['NumberPage']++; ?> all_page = <?= $_SESSION['NavPageCount'] ?><br> current_page = <?= $NumberPage ?> <script> window.location = window.location.href; </script> <? }else{?> all_page = <?= $_SESSION['NavPageCount'] ?><br> current_page = <?= $NumberPage ?> <? unset($_SESSION['NumberPage']); unset($_SESSION['NavPageCount']); } ?> <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>