Разные цены для разных сайтов 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;
	}
?>