@Feyvor

Как конвертировать одну валюту?

Добрый день, подскажите, пожалуйста, как решить данную проблему:
На сайте основная валюта рубли, большинство товара выгружается из 1с в $, потом происходит конвертация этой строчкой:
$price = CCurrencyRates::ConvertCurrency($ar_res["PRICE"], "USD", "RUB");

НО, так же в 1с есть некоторые товары в рублях, соответственно эта строка переводит и рублевый товар в $.
Вопрос, как переводить только $ товар, но при этом не трогать рублевый?
Фрагмент кода, где происходит данная операция, так же в нем моя попытка решения, которая, к сожалению, не привела к какому либо результату:
$db_res = CPrice::GetList(
        array(),
        array("PRODUCT_ID" => $PRODUCT_ID,"CATALOG_GROUP_ID" => $PRICE_TYPE_ID)
    );
	if ($ar_res = $db_res->Fetch())
	{	
		//print_r($ar_res);
			if ($ar_res["PRICE"] == 'RUB' || $ar_res["PRICE"] == 'RUB')
				$ar_res["PRICE"] = $price; 
			else
      	$price = CCurrencyRates::ConvertCurrency($ar_res["PRICE"], "USD", "RUB");
			
	}
	else
		$price = 0;
  • Вопрос задан
  • 230 просмотров
Пригласить эксперта
Ответы на вопрос 1
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix
Так как вы используете конвертацию валюты только для вывода в шаблоне, то проще настроить сам компонент правильно. Он умеет это делать стандартными средствами и только там где надо.

у компонентов catalog.element и catalog.section есть параметры
"CONVERT_CURRENCY" => "Y"
"CURRENCY_ID" => "RUB"
О них можно почитать тут

Скорее всего вы цену выводите не только на детальной странице но и списке товаров и все это дело работает через комплексный компонент каталога. Тогда эти параметры надо будет задать именно в комплексном компоненте и проследить чтобы они были переданы в catalog.element и catalog.section
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы