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