Однажды, необходимо было обновит интернет магазин редакции стандарт до малого бизнеса. Ну и соответственно использовать по полной модуль интернет магазин. После недели мучительных исправлений работа подошла к концу. И осталось только существующие цены и количество которые хранились в свойствах инфоблока скопировать в торговый каталог.
Создайте в корне сайта файл update.php
update.php:
---------
Собственно все. Документация тут https://dev.1c-bitrix.ru/api_help/catalog/classes/cprice/add.php
Создайте в корне сайта файл update.php
update.php:
---------
SetTitle("");?> IsAuthorized()): CModule::IncludeModule("iblock"); $my_sections = CIBlockElement::GetList (Array("ID" => "ASC"),Array("IBLOCK_ID" => 1),false,false, array("ID", "IBLOCK_ID",'NAME','CODE',"PROPERTY_PRICE")); $products = array(); while($obj = $my_sections->GetNextElement()) { $ar_fields = $obj->GetFields(); $ar_prop = $obj->GetProperties(); $products[$ar_fields['ID']] = array( "NAME"=>$ar_fields['NAME'],"PRICE"=>$ar_prop['PRICE']['VALUE']); } //echo count($products); Cmodule::IncludeModule('catalog'); foreach($products as $PRODUCT_ID => $arr){ //echo $PRODUCT_ID.' '.$arr['PRICE'].' '.$arr['NAME'].' '; $PRICE_TYPE_ID = 1; //НОМЕР $arFields = Array( "PRODUCT_ID" => $PRODUCT_ID,// - код товара или торгового предложения (ID элемента инфоблока).; "CATALOG_GROUP_ID" => $PRICE_TYPE_ID, //- код типа цены; "PRICE" =>$arr['PRICE'],//цена; "CURRENCY" => "RUB",//- валюта цены (обязательный параметр); ); $res = CPrice::GetList(array(),array("PRODUCT_ID" => $PRODUCT_ID,"CATALOG_GROUP_ID" => $PRICE_TYPE_ID)); if ($arr = $res->Fetch()){ //Обновляем если есть //echo 'updt '.$arr["ID"].' '; CPrice::Update($arr["ID"], $arFields); } else{ //иначе добавляем! CPrice::Add($arFields); } //Тут устанавливаем количество товаров. В данном случае 1000 CCatalogProduct::Add( array("ID"=>$PRODUCT_ID,'QUANTITY' => 1000)); $i++; } endif;?>--------
Собственно все. Документация тут https://dev.1c-bitrix.ru/api_help/catalog/classes/cprice/add.php
Комментариев нет:
Отправить комментарий