Задание:
Реализовать проверку – при удалении товара из каталога, проверять: если количество
просмотров товара (поле SHOW_COUNTER) больше 1, то отменять удаление, деактивировать
товар и выводить в административный раздел соответствующее уведомление с указанием
количества просмотров. Все, кроме деактивизации я сделал, а деактивировать элемент я никак не могу. Подскажите, пожалуйста, как это сделать правильно.
Реализовать проверку – при удалении товара из каталога, проверять: если количество
просмотров товара (поле SHOW_COUNTER) больше 1, то отменять удаление, деактивировать
товар и выводить в административный раздел соответствующее уведомление с указанием
количества просмотров. Все, кроме деактивизации я сделал, а деактивировать элемент я никак не могу. Подскажите, пожалуйста, как это сделать правильно.
| Код |
|---|
function OnBeforeIBlockElementDeleteHandler($ID)
{
CModule::IncludeModule("iblock");
$res = CIBlockElement::GetByID($ID);
if($ar_res = $res->GetNext())
{
if($ar_res["SHOW_COUNTER"]>=1){
$el = new CIBlockElement;
$arLoadProductArray = Array(
"ACTIVE" => "N", //не активен
);
$PRODUCT_ID = $ar_res["ID"];
$res = $el->Update($PRODUCT_ID, $arLoadProductArray);
global $APPLICATION;
$APPLICATION->throwException("Количество просмотров товара ".$ar_res["NAME"]." = ".$ar_res["SHOW_COUNTER"]);
return false;
}
}
}
|
