Отправка сообщения






Добро пожаловать!

Затираем поля детального описания, а так же анонса во всех элементах

Привет. Рассмотрим экзотическую задачу, и вариант её решения. В системе битрикс ранее был заведен тип инфоблоков кодом “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'];
}
?>

Итак, стоит так же добавить, что запускать скрипт нужно авторизовавшись в системе, под пользователем состоящем в группе «Администраторы».
Код можно модифицировать под свои нужды, к примеру, добавления какого-то значения к элементу, ну или как-то ещё. В общем, на ваше усмотрение.

Добавил: htmaker, 30.06.2013 г.
 
плохослабосойдетхорошоотлично (Еще не оценили)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Комментарии

  • Загрузка...

Наверх