1. Смена внешнего кода не поможет. Добавится еще одно свойство с аналогичным внешним кодом.
Нужно вешать обработчики
Код |
---|
AddEventHandler("iblock", "OnBeforeIBlockPropertyUpdate", Array("IbProps", "OnBeforeIBlockPropertyUpdateHandler"));
AddEventHandler("iblock", "OnBeforeIBlockPropertyAdd", Array("IbProps", "OnBeforeIBlockPropertyAddHandler"));
AddEventHandler("iblock", "OnBeforeIBlockPropertyDelete", Array("IbProps", "OnBeforeIBlockPropertyDeleteHandler"));
class IbProps
{
function OnBeforeIBlockPropertyUpdateHandler(&$arFields)
{
if($arFields["CODE"] == "MORE_PHOTO")
{
return false;
}
}
function OnBeforeIBlockPropertyAddHandler(&$arFields)
{
if($arFields["CODE"] == "MORE_PHOTO")
{
return false;
}
}
function OnBeforeIBlockPropertyDeleteHandler($ID)
{
if($ID==389)
{
global $APPLICATION;
$APPLICATION->throwException("Свойство с ID=389 нельзя удалить.");
return false;
}
}
} |