Битрикс — Как удалить товары заданного Бренда?

Пишем скрипт, который по запуску удалит все товары одного бренда.

Как написать скрипт в Битриксе по удалению товаров?

Первым делом подключаем пролог и модуль инфоблоков:

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("iblock");

У нас будет 2 параметра — ID инфоблока и ID Бренда, товары которого будем удалять:

$IBLOCK_ID = 3;
$BRAND_ID = 127;

Для обхода товаров будем использовать CIBlockElement::GetList. Теперь пишем скрипт:

$res = CIBlockElement::GetList (
	Array("ID" => "ASC"),
	Array("IBLOCK_ID" => $IBLOCK_ID, "PROPERTY_BRAND" => $BRAND_ID),
	false,
	false,
	Array('ID', 'NAME', 'DETAIL_PAGE_URL')
);
while ($arItem = $res->GetNext())
{
	$ELEMENT_ID = $arItem['ID'];

	if(CIBlock::GetPermission($IBLOCK_ID)>='W')
	{
		$DB->StartTransaction();
		if(!CIBlockElement::Delete($ELEMENT_ID))
		{
			$strWarning .= 'Error!';
			$DB->Rollback();
		}
		else
		{
			$DB->Commit();
		}
	}
}

Вот так в Битриксе вы можете удалить товары при помощи скрипта. В случае, когда у вас бренд = раздел каталога, конечно же легче зайти в админку и просто удалить все товары в нужном разделе.

Важно! Перед запуском скрипта делайте резервную копию, убережет от ошибок 🙂
Полный код скрипта по удалению товаров заданного бренда выглядит так:

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if (CModule::IncludeModule("iblock")):

	$IBLOCK_ID = 3;
	$BRAND_ID = 127;

	$res = CIBlockElement::GetList (
		Array("ID" => "ASC"),
		Array("IBLOCK_ID" => $IBLOCK_ID, "PROPERTY_BRAND" => $BRAND_ID),
		false,
		false,
		Array('ID', 'NAME', 'DETAIL_PAGE_URL')
	);
	while ($arItem = $res->GetNext())
	{
		$ELEMENT_ID = $arItem['ID'];

		if(CIBlock::GetPermission($IBLOCK_ID)>='W')
		{
			$DB->StartTransaction();
			if(!CIBlockElement::Delete($ELEMENT_ID))
			{
				$strWarning .= 'Error!';
				$DB->Rollback();
			}
			else
			{
				$DB->Commit();
			}
		}
	}
endif;

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

- Создание сайтов на 1С-Битрикс любой сложности
- Вёрстка макетов Figma, Photoshop, Zeplin
- Поддержка проектов на Битриксе
- Разработка нового функционала для сайта
- Парсинг данных
- Выгрузка из файлов в формате XML, YML, XLS, XLSX, CSV, JSON
- Интеграция по API со сторонними сервисами
и многое другое

E-mail: dmitriyribka@gmail.com

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

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