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

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

Просмотров: 1988
Обновление цен торговых предложений по разделу каталога инфоблока
  • Нам понадобится свойство 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"));

Ещё статьи:

20.03.2025 Всё ли хорошо в "БУС" королевстве?
Всё ли хорошо в Датском БУС королевстве? Началась очень нехорошая тенденция ухода клиентов с многолетним пребыванием на битрикс CMS на другие системы. ID: 613

23.02.2025 Техническое задание маркетологу + рекламщику + seo специалисту
Увидел интересное ТЗ в виде требований для на маркетолога / специалиста по рекламе / SEO специалиста. ID: 612

19.02.2025 Нет темы в письмах с битрикс сайта
В почту Яндекс письма с заказами стали без номера в теме приходить внезапно, каких-то явных признаков из-за чего это могло резко случиться не выявлено ID: 611

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