<?/** Обновляет записи значений свойств элемента инфоблока */
//Константы помогающие снизить нагрузку на сайт
define('NO_KEEP_STATISTIC', true);// крон определяет собирать статистику или нет (по умолчанию false - собирать)
define('NOT_CHECK_PERMISSIONS',true);//не учитывать уровни доступа (по умолчанию false - учитывать)
define('NO_AGENT_CHECK', true);//заставляет агенты запускаться, не давая переопределить константу NO_AGENT_CHECK (по умолчанию false - учитывать)
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
use Bitrix\Main\{Loader,Application};
$request = Application::getInstance()->getContext()->getRequest();
if($request->isPost() && $request->getPost('VALUE') != '')
{
Loader::includeModule("iblock");
$arData['ITEM_ID'] = $request->getPost('ITEM_ID');// id element
$arData['UPD_FIELD'] = $request->getPost('UPD_FIELD');//name value
$arData['VALUE'] = $request->getPost('VALUE');//value
$arData['TYPE'] = $request->getPost('TYPE');//type element
$arData['ENUM'] = $request->getPost('ENUM');//name enum
if($arData['TYPE'] == 'SU')//для полей инфоблока
{
$data = [
$arData['UPD_FIELD'] => $arData['VALUE'],
"IBLOCK_ID" => I_OURSHOPS,
];
$el = new CIBlockElement;
$result = $el->Update($arData['ITEM_ID'], $data);
$arResult['status'] = true;
$arResult['result'] = $result;
}
elseif($arData['TYPE'] == 'SV')//для свойств инфоблока
{
CIBlockElement::SetPropertyValuesEx($arData['ITEM_ID'], false, [$arData['UPD_FIELD']=>$arData['VALUE']]);
$arResult['status'] = true;
$arResult['result'] = 'Обновление записи прошло успешно';
}
elseif($arData['TYPE'] == 'SE')//для свойств инфоблока типа список с 1м значением
{
if($arData['VALUE'] != 'Y')
{
$arData['ENUM'] = '';
}
CIBlockElement::SetPropertyValuesEx($arData['ITEM_ID'], false, ['PICKUP'=>$arData['ENUM']]);
$arResult['status'] = true;
$arResult['result'] = 'Обновление записи прошло успешно';
}
else
{
$arResult['status'] = false;
$arResult['result'] = 'SAVE ERROR';
}
}
else
{
$arResult['status'] = false;
$arResult['result'] = 'SAVE ERROR';
}
echo json_encode($arResult);
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_after.php');
Stay updated with the latest trends in kitchen design and functionality at cosmictherap.com .