Привет. Рассмотрим экзотическую задачу, и вариант её решения. В системе битрикс ранее был заведен тип инфоблоков кодом “catalog”. К этому типу привязано некоторое количество информационных блоков в системе. Эти информационные блоки содержат множество разделов, а так же элементов.
Задача в следующем, необходимо затиреть поля детального описания, а так же анонса во всех элементах, находящихся в этих инфоблоках.
Смотрим что получилось:
<?php $IB_TYPE = 'catalog'; # тип инфоблоков # подключение библиотеки классов require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php"); # доступ только администраторам global $USER; if (!$USER->IsAdmin() ) return; # подключаем модуль инфоблоков if (CModule::IncludeModule("iblock")){ $arFilter = array("IBLOCK_TYPE" => $IB_TYPE); # фильтр для выборки элементов # выборка элементов $elRes = CIBlockElement::GetList(array("SORT"=>"ASC"), $arFilter, false, false, array()); # переменные для счетчика (для отчета) $arCnt = array ('updated' => 0, 'errors' => 0); while($ob = $elRes->Fetch()){ # значение полей $arEl = array("PREVIEW_TEXT" => "","DETAIL_TEXT" => ""); # обновляем текущий элемент $res = CIBlockElement::Update($ob['ID'], $arEl); # счетчик if ($res) $arCnt['updated']++; else $arCnt['errors']++; } # выводим отчет echo 'обновлено '.$arCnt['updated'].' | ошибок '.$arCnt['errors']; } ?>
Итак, стоит так же добавить, что запускать скрипт нужно авторизовавшись в системе, под пользователем состоящем в группе «Администраторы».
Код можно модифицировать под свои нужды, к примеру, добавления какого-то значения к элементу, ну или как-то ещё. В общем, на ваше усмотрение.