Попытка решить задачу: Полностью очистить категорию от отваров (удалить все тавры из категории).
Сразу отмечу, что "фокус не удался", за приемлемое время, и пришлось создавать новую категорию. А материал оставил тут на случай если будет время вернуться к данной задаче.
Вариант №1 (не сработал)
delete from b_iblock_section_element where
IBLOCK_SECTION_ID=413 and IBLOCK_ELEMENT_ID in ("5643","5644","5645","5646")
Вариант №2 (не сработал)
Скрипт:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$items = GetIBlockElementList(1, false, Array("SORT"=>"ASC"));
$i = 0;
while ($aItem = $items->Fetch())
{
$id = $aItem['ID'];
$IBLOCK_ID = $aItem['IBLOCK_ID'];
$res = CIBlockElement::GetElementGroups(
$id,
false,
array('ID', 'NAME') // , 'SECTION_PAGE_URL'
);
$aCats = array();
$bFound = FALSE;
while($row = $res->GetNext())
{
if($row['ID'] == 151)
{
$bFound = TRUE;
}
else
{
$aCats[] = $row['ID'];
}
}
if($bFound)
{
echo '<pre>';
print_r($aItem['NAME']);
echo '</pre>';
//$ID = 18; // код элемента
$ID = $id;
//$arSects = array(1, 5, 7); // массив кодов групп
$arSects = $aCats;
CIBlockElement::SetElementSection($ID, $arSects);
}
$i++;
/* if($i > 30)
{
break;
}*/
}
?>
Done
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
Bitrix, изменение разделов товара sql запросом