У компонентов каталога есть очень полезная функция - конвертации цен на основании курса валют. Но при этом есть один недостаток - у всех компонентов валюта, в которую нужно производить конвертацию - выбирается в настройках компонента, что для решений, которые создаются для marketplace, является недостатком.
У модуля sale есть в настройках свойство "Валюта по умолчанию". Предложенная функция позволяет брать значение для конвертации отсюда.
function GetDefaultCurrency(){
if(!CModule::IncludeModule("sale")) return false;
$obCache = new CPHPCache;
$life_time = 36000;
$cache_params = array('option'=>'getOption');
$cache_params['module'] = 'sale';
$cache_params['option'] = 'default_currency';
$cache_id = md5(serialize($cache_params));
if($obCache->InitCache($life_time, $cache_id, "/")) :
$arResult = $obCache->GetVars();
else :
$arResult['CURRENCY'] = COption::GetOptionString("sale", "default_currency","RUB");
endif;
if($obCache->StartDataCache()):
$obCache->EndDataCache($arResult);
endif;
return $arResult['CURRENCY'];
}
Как обычно, данные сохраняются в кеш :) >

