1C-Битрикс – как сбросить дату начала активности элемента

Бывают такие ситуации, когда нужно сбросить дату начала активности элемента. Не важно, элементы блога это, товар, новость или что-то еще.

Как обнулить дату начала активности

Если мы говорим про элементы инфоблока, и апи битрикса, то мы как правило имеем ввиду CIBlockElement::GetList . Этот раз не исключение. С помощью GetList мы будем устанавливать всем элементам дату начала активности в пустое значение.

Дата начала активности, или ‘DATE_ACTIVE_FROM’, отвечает за то, с какого момента публиковать запись (если установлено значение ‘DATE_ACTIVE_TO’, то и по какой период тоже). На примере ниже вы сможете увидеть как легко обнулить у элементов инфоблока значение этого параметра:

if(CModule::IncludeModule("iblock")):

$IBLOCK_ID = 4;
$rs = CIBlockElement::GetList (
	false,
	Array("IBLOCK_ID" => $IBLOCK_ID, "ACTIVE" => "Y"),
	false,
	false,
	Array('ID', 'NAME')
);

while ($arItem = $rs->GetNext())
{
	$ELEMENT_ID = $arItem['ID']; // id элемента


	$el = new CIBlockElement;

	$arLoadProductArray = Array(
		'DATE_ACTIVE_FROM' => ''
	);
	$res = $el->Update($ELEMENT_ID, $arLoadProductArray);
}

endif;

Конечно, в фильтр можно добавить ‘!DATE_ACTIVE_FROM’ => false (лично не пробовал, но по идее должно уменьшить кол-во запросов).
Надеюсь у вас всё получилось, а если нет пишите комментарии к этой записи, будем вместе разбираться 🙂 .

автор: Dmitriy

З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *