Не дождался решения, сделал костылем, может кому-нибудь пригодится
Небольшая предыстория: На сайте все цены хранятся в $, посетителю же цена показывается в рублях. В фильтре как и говорилось отображение цены идет в $, а надо бы в рублях.
Решение.
Копируем шаблон компонента catalog.smart.filter и в template.php добавляем конвертацию
(это перед кодом <?foreach($arResult["ITEMS"] as $arItem):?>
<? if(isset($arItem["PRICE"] ){ )
Перед подключением компонента catalog.smart.filter вставляем следующее:
(P10 нужно заменить на свой ид цены)
В файле ajax.php шаблона копонента catalog.smart.filter заменяем код на
Небольшая предыстория: На сайте все цены хранятся в $, посетителю же цена показывается в рублях. В фильтре как и говорилось отображение цены идет в $, а надо бы в рублях.
Решение.
Копируем шаблон компонента catalog.smart.filter и в template.php добавляем конвертацию
Код |
---|
$arItem["VALUES"]["MIN"]["VALUE"]=CCurrencyRates::ConvertCurrency($arItem["VALUES"]["MIN"]["VALUE"], "USD", "RUB"); $arItem["VALUES"]["MAX"]["VALUE"]=CCurrencyRates::ConvertCurrency($arItem["VALUES"]["MAX"]["VALUE"], "USD", "RUB"); if ($arItem["VALUES"]["MIN"]["HTML_VALUE"]) $arItem["VALUES"]["MIN"]["HTML_VALUE"]=CCurrencyRates::ConvertCurrency($arItem["VALUES"]["MIN"]["HTML_VALUE"], "USD", "RUB"); if ($arItem["VALUES"]["MAX"]["HTML_VALUE"]) $arItem["VALUES"]["MAX"]["HTML_VALUE"]=CCurrencyRates::ConvertCurrency($arItem["VALUES"]["MAX"]["HTML_VALUE"], "USD", "RUB"); |
<? if(isset($arItem["PRICE"] ){ )
Перед подключением компонента catalog.smart.filter вставляем следующее:
Код |
---|
CModule::IncludeModule("currency"); if ($_REQUEST['arrFilter_P10_MIN']){ $_REQUEST['arrFilter_P10_MIN']=CCurrencyRates::ConvertCurrency($_REQUEST['arrFilter_P10_MIN'], "RUB", "USD"); $_GET['arrFilter_P10_MIN']=CCurrencyRates::ConvertCurrency($_GET['arrFilter_P10_MIN'], "RUB", "USD"); } if ($_REQUEST['arrFilter_P10_MAX']){ $_REQUEST['arrFilter_P10_MAX']=CCurrencyRates::ConvertCurrency($_REQUEST['arrFilter_P10_MAX'], "RUB", "USD"); $_GET['arrFilter_P10_MAX']=CCurrencyRates::ConvertCurrency($_GET['arrFilter_P10_MAX'], "RUB", "USD"); } |
В файле ajax.php шаблона копонента catalog.smart.filter заменяем код на
Код |
---|
$APPLICATION->RestartBuffer(); $url=explode('?',$arResult["FILTER_URL"]); $url2=explode('&',$url[1]); foreach ($url2 as $k=>$u){ $url3=explode('=',$u); if ($url3[0]=='arrFilter_P10_MAX'){ $url2[$k]='arrFilter_P10_MAX='.CCurrencyRates::ConvertCurrency($url3[1], "USD", "RUB");; } if ($url3[0]=='arrFilter_P10_MIN'){ $url2[$k]='arrFilter_P10_MIN='.CCurrencyRates::ConvertCurrency($url3[1], "USD", "RUB"); } } $arResult["FILTER_URL"]=$url[0].'?'.implode('&',$url2); unset($arResult["COMBO"]); echo CUtil::PHPToJSObject($arResult); |