Иногда для интернет-магазина необходимо показывать цены не только в рублях, но и в китайских юанях. Рассмотрим, как создать собственный компонент в 1С-Битрикс, который будет конвертировать стоимость по текущему курсу.
<?php
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
die();
}
$priceRub = (float) $arParams['PRICE_RUB'];
$rate = COption::GetOptionString("currency", "cny_rate", 12.5);
$priceCny = $rate > 0 ? round($priceRub / $rate, 2) : 0;
$arResult = [
'PRICE_RUB' => $priceRub,
'PRICE_CNY' => $priceCny,
'RATE' => $rate,
];
$this->IncludeComponentTemplate();
<div class="price-converter">
<p>Цена в рублях: <?= number_format($arResult['PRICE_RUB'], 2, '.', ' '); ?> ₽</p>
<p>Цена в юанях: <?= number_format($arResult['PRICE_CNY'], 2, '.', ' '); ?> ¥</p>
<small>Курс: 1 ¥ = <?= $arResult['RATE']; ?> ₽</small>
</div>
$xml = simplexml_load_file("https://www.cbr.ru/scripts/XML_daily.asp");
foreach ($xml->Valute as $valute) {
if ((string)$valute->CharCode === "CNY") {
$rate = str_replace(',', '.', (string)$valute->Value);
}
}
Мы создали универсальный компонент, который может быть встроен в интернет-магазин на 1С-Битрикс и автоматически конвертировать цену товара в юани. Такой подход удобно использовать для работы с китайскими партнёрами и клиентами.