Блог Битрикс программиста. Мой личный опыт

Если вы хоть чуть-чуть читаете php скрипты и работаете с Битриксом, то далее вам все будет ясно и понятно.

Создаем файлик в корне сайта например script.php, в него добавляем код, модифицируем его под свои параметры и запускаем http://сайт.ru/script.php

Этот код изменяет код в дате активности элементов:

require($_SERVER["DOCUMENT_ROOT"]. "/bitrix/header.php");


   //Подключаем модуль работы с инфоблоками
   CModule::IncludeModule('iblock');


   //Уточняем какой будем использовать инфоблок
   $arFilter = array(
   'IBLOCK_ID' => 4,
   );

   //Получаем массив всех элементов
   $res = CIBlockElement::GetList(false, $arFilter, array('IBLOCK_ID','ID'));


   //Перебираем все элементы инфоблока и записываем в массив их IDшники
   while($el = $res->GetNext()):
   echo $arElementsID[] = $el['ID'];
   endwhile;


   //Получаем ID и дату активнсти у каждого элемента в массив
   //заменяем 2020 года на 2021
   //и пишем новый массив, где индекс будет ID элемента, а значение - Дата активности
   foreach($arElementsID as $key):
   $arFilter = array(
   'IBLOCK_ID' => 4,
   'ID' => $key
   );
   $res = CIBlockElement::GetList(false, $arFilter, array('ID','DATE_ACTIVE_FROM'));
   $key = $res -> Fetch();
   $arElementsData[$key['ID']] = str_replace('2015','2016', $key['DATE_ACTIVE_FROM']);
   endforeach;


   //Обновляем поле "Дата активности" у каждого элемента
   foreach($arElementsData as $key => $value):
   $ELEMENT_ID = $key;
   $cbe = new CIBlockElement;
   $cbe -> Update($ELEMENT_ID, array('DATE_ACTIVE_FROM' => $value));
   if($cbe): echo "OK!
"; else: echo "Ошибка!
"; endif; endforeach; require($_SERVER["DOCUMENT_ROOT"]. "/bitrix/footer.php");



Этот код изменяет сортировку в элементах выбранных по свойству:


Денис Бунаков

C 2012 года разрабатываю и поддерживаю сайты на 1С Битрикс. У меня вы можете заказать услуги по разработки или поддержке сайта на битриксе

Блог Битрикс программиста. Мой личный опыт