Добрый день!
Подскажите пожалуйста как массово и достаточно быстро удалить все разделы в инфоблоке?
Всего разделов 55к
Через админку всё виснет, несмотря на больше max execution time.
Скрипт такой набросал, но как-то долговато работает.. Или это норма?
Спасибо заранее
Подскажите пожалуйста как массово и достаточно быстро удалить все разделы в инфоблоке?
Всего разделов 55к
Через админку всё виснет, несмотря на больше max execution time.
Скрипт такой набросал, но как-то долговато работает.. Или это норма?
Спасибо заранее
| Код |
|---|
<?php
set_time_limit(60000);
// включаем вывод ошибочек
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
// включаем замер исполнения скрипта
// подключаем prolog bitrix
require $_SERVER["DOCUMENT_ROOT"] . '/bitrix/modules/main/include/prolog_before.php';
// подключаем нужные модули
CModule::IncludeModule("iblock");
$infoblock = 4; // Инфоблок с ID ХХХ (необходимо установить ID нужного инфоблока)
$rs_Section = CIBlockSection::GetList(array('left_margin' => 'asc'), array('IBLOCK_ID' => $infoblock));
while ( $ar_Section = $rs_Section->Fetch() ) {
$ar_Resu[] = array( // собираем массив того, что нам нужно
'ID' => $ar_Section['ID'], // id раздела
'NAME' => $ar_Section['NAME'], // имя раздела (что нас, собственно, интересует)
'IBLOCK_SECTION_ID' => $ar_Section['IBLOCK_SECTION_ID'],
);
}
foreach ($ar_Resu as $section) {
CIBlockElement::Delete($section["ID"]);
}
?>
|