Обновление цен торговых предложений с учётом раздела

Обновление цен торговых предложений с учётом раздела

Просмотров: 2056
Обновление цен торговых предложений по разделу каталога инфоблока
  • Нам понадобится свойство PROPERTY_CML2_LINK где хранится ID основной карточки вариативного товара и IBLOCK_SECTION_ID - раздел основного товара.
  • Вытаскиваем элементы торговых предложений с помощью CIBlockElement::GetList
  • Получаем данные о разделе CIBlockElement::GetByID($ar_Element["PROPERTY_CML2_LINK_VALUE"])
  • Формируем массив выборку с увязкой к разделу и данным элемента
  • Получаем данные о ценах CPrice::GetList
  • Обновляем цены с нужной наценкой CPrice::Update
Скачать пример

 $infoblock = 3; // Инфоблок 
//Вытаскиваем элементы
$arSelectElems = array (
 "ID",
 "PROPERTY_CML2_LINK"
 );
 $arFilterElems = array (
 "IBLOCK_ID" => $infoblock
);
 $arSortElems = array (
 "NAME" => "ASC"
 );
 $arResult["ELEMENTS"] = array();
 $rsElementElement = CIBlockElement::GetList(array('left_margin' => 'asc'), $arFilterElems, false, false, $arSelectElems);
 while ( $ar_Element = $rsElementElement->Fetch() ) {
 $res = CIBlockElement::GetByID($ar_Element["PROPERTY_CML2_LINK_VALUE"]);
 if($ar_res = $res->GetNext())
 {
 $ar_res_sectionID = $ar_res['IBLOCK_SECTION_ID'];
 }
//выборка с учётом раздела
 $ar_Resu[$ar_res_sectionID][] = $ar_Element;
}
 foreach ($ar_Resu[220] as $section) {
     $db_res_mrc = CPrice::GetList(
 array(),
 array(
 "PRODUCT_ID" => $section["ID"],
 "CATALOG_GROUP_ID" => 1
 )
 );
 //[PRODUCT_ID] => это торговое предложение
 if ($ar_res_mrc = $db_res_mrc->Fetch())
 {
//цена с наценкой
 $price_mrc_update = ceil($ar_res_mrc['PRICE'] + ($ar_res_mrc['PRICE']*20/100));
 CPrice::Update($ar_res_mrc['ID'], array("PRODUCT_ID" =>$ar_res_mrc['PRODUCT_ID'],"PRICE" => $price_mrc_update , "CURRENCY" => "RUB"));

Ещё статьи:

07.06.2025 WP vs Bitrix #4 Все страницы сайта на полях ACF сделаны.
Очередной пример того, что система управления как инструмент не виновата. Но тем не менее эти люди со светлыми вордпрессными лицами скажут, что битрикс плохой. ID: 623

07.06.2025 Нюансы обновления Аспро Медицинский центр 2
Вопрос от клиента, если есть аспро мед 2, но сейчас уже аспро мед 3. Это новый покупается? или обновляется текущий? ID: 622

07.06.2025 Много детальных шаблонов с привязкой к ID элемента
Очередной случай когда скажут битрикс плохой, но инструмент не виноват в том, ка его используют.
Многое видел, но чтобы плодить множество детальных шаблонов страницы с привязкой к ID элемента каждой страницы, такого ещё не видел. ID: 621

© 2015-2025 Web админ
Связаться по WhatsApp