Здаров обаригены.
Тут битриксы подкатывали просили цену сортирнуть и торговых предложений.
Туда сюда создать свойства и тп, там погуглите найдете. Задача у нас проставить цены у всех товаров.
Идете в админку и ищите там командную строку php, в нее втыкаете такой код. Усе написано, проверено чики бамбонито.
CModule::IncludeModule('iblock'); CModule::IncludeModule('catalog'); $ID_BLOCK = 14; // посмотрите свой! $arSelect = Array("ID", "NAME", "DATE_ACTIVE_FROM"); $arFilter = Array("IBLOCK_ID"=>$ID_BLOCK,"ACTIVE"=>"Y"); $res = CIBlockElement::GetList(Array('ID',"NAME"), $arFilter, false, Array("nPageSize"=>5000), $arSelect); while($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); $ret = 0; $arInfo = CCatalogSKU::GetInfoByProductIBlock($ID_BLOCK); if (is_array($arInfo)) { $res2 = CIBlockElement::GetList(Array("PRICE"=>"desc"), array('IBLOCK_ID'=>$arInfo['IBLOCK_ID'], 'ACTIVE'=>'Y', 'PROPERTY_'.$arInfo['SKU_PROPERTY_ID'] => $arFields['ID']), false, false, array('ID', 'NAME')); $minPrice = false; $maxPrice = false; if($res2->result->num_rows == 0) { $ret = GetCatalogProductPrice($arFields["ID"], 1); if ($ret['PRICE']){ $PRICE = $ret['PRICE']; } $minPrice = $PRICE; $maxPrice = $PRICE; }else { while($ar = $res2->GetNext()) { $ret = GetCatalogProductPrice($ar["ID"], 1); if ($ret['PRICE']){ $PRICE = $ret['PRICE']; } if($minPrice === false || $minPrice > $PRICE) $minPrice = $PRICE; if($maxPrice === false || $maxPrice < $PRICE) $maxPrice = $PRICE; } } } echo ' min= '.$minPrice.' max='.$maxPrice.' - '.$arFields['NAME'];echo "\r\n"; CIBlockElement::SetPropertyValuesEx($arFields['ID'], false, array('MINIMUM_PRICE' => $minPrice)); CIBlockElement::SetPropertyValuesEx($arFields['ID'], false, array('MAXIMUM_PRICE' => $maxPrice)); }
Обратите внимание на ID_BLOCK ! Ну вот и все, доллАров мне не забудте скинуть.!