Задание:
Реализовать проверку – при удалении товара из каталога, проверять: если количество
просмотров товара (поле 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; } } } |