Цитата |
---|
Евгений Жуков написал: \Bitrix\Catalog\MeasureRatio |
Код |
---|
<? use \Bitrix\Main\EventManager; $eventManager = \Bitrix\Main\EventManager::getInstance(); $eventManager->addEventHandler("catalog", "\Bitrix\Catalog\MeasureRatio::OnBeforeUpdate", function (\Bitrix\Main\Event $event) { $result = new \Bitrix\Main\Entity\EventResult; $data = $event->getParameter("fields"); $arSelect = Array("ID","IBLOCK_ID","PROPERTY_CML2_TRAITS"); $arFilter = Array("ID" => $data["PRODUCT_ID"]); $res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect); while($ob = $res->GetNextElement()) { $arFields = $ob->GetProperties(); } if (isset($arFields['CML2_TRAITS']['VALUE'][3])){ $true_coef = str_replace(',','.',$arFields['CML2_TRAITS']['VALUE'][3]); if ($true_coef!='0') { $result->modifyFields(array('RATIO' => $true_coef)); } else { $result->modifyFields(array('RATIO' => 1)); } AddMessage2Log(array($data["PRODUCT_ID"],$arFields['CML2_TRAITS']['VALUE'][3],$true_coef)); } return $result; }); ?> |