Разные цены для разных сайтов 1С-Битрикс
, МихаилВ /bitrix/php_interface/init.php
<?php global $TYPE_PRICE; $TYPE_PRICE = 3; //ID цены на 1м сайте ?>
В /bitrix/php_interface/s2/init.php добавляем обработчик:
<?php AddEventHandler("catalog", "OnGetOptimalPrice", 'OnGetOptimalPriceHandler'); global $TYPE_PRICE; $TYPE_PRICE = 4; //ID цены на 2м сайте function OnGetOptimalPriceHandler($productID, $quantity = 1, $arUserGroups = array(), $renewal = "N", $arPrices = array(), $siteID = "s2", $arDiscountCoupons = false) { CModule::IncludeModule("iblock"); Cmodule::IncludeModule('catalog'); global $TYPE_PRICE; $db_res = CPrice::GetList(array(), array("PRODUCT_ID" => $productID, "CATALOG_GROUP_ID" => $TYPE_PRICE)); if ($ar_res = $db_res->Fetch()) { $price = $ar_res['PRICE']; $currency = $ar_res['CURRENCY']; $arResult = array( 'PRICE' => array( 'PRICE' => $price, 'CURRENCY' => $currency, ) ); $arDiscounts = CCatalogDiscount::GetDiscount($productID, 15); // ID Инфоблока с торговыми предложениями (в данном случае) if ($arDiscounts) { foreach ($arDiscounts as $arDiscount) { $arResult['DISCOUNT_LIST'][] = array( 'VALUE_TYPE' => $arDiscount['VALUE_TYPE'], 'VALUE' => $arDiscount['VALUE'], 'CURRENCY' => $arDiscount['CURRENCY'] ); } } } else { return true; } return $arResult; } ?>