Как вывести цену на сайте в рублях если исходная в евро через js

Скрипты и советы | 15 ноября 2022

js, курсы валют, мы рекомендуем

Используя плагин курса валют ЦБРФ хотелось бы не просто выводить сами валюты, но и использовать их для автоматической конвертации цен.

Например товары на сайте в евро, а законодательство требует отображать все цены в российских рублях. Именно такое требование у Яндекс Маркета при генерации турбо-страниц для интернет-магазинов.

К примеру наша статья по формату YML позволяет собрать свой шаблон импорта товаров в Яндекс Маркет. И вот если ваши цены в долларах или евро - то проверка списка товаров на стороне сайта выявит "проблему" цены не указаны в национальной валюте.
Простой JS скрипт автоматического пересчета цены из значений курса ЦБРФ в Рубли позволит решить подобную задачу.



Готовый скрипт цены в рублях:




<script>
window.onload = function() {
    let cursPrice = document.getElementById('curs-price').innerHTML; // обьявляю переменную для цены в евро
    let cursEuro = document.getElementById('curs-euro').innerHTML; // обьявляю переменную для курса евро на сегодня из плагина {THEME}/assets/cbr-exrate/exrate.tpl
    let localePrice = cursPrice * cursEuro; // перемножаем объявленные переменные
    let localeCost = (localePrice).toLocaleString('ru-RU', {
        style: 'currency',
        currency: "RUB"
    })
    document.getElementById('curs-localcost').innerHTML = localeCost; // выводим строку результата
}
</script>


Теперь подробно, по шагам



1. У вас должен быть установлен Плагин cbr-exrate - Курсы валют для DLE
Открываем шаблон формирования списка валют {THEME}/assets/cbr-exrate/exrate.tpl

И для нужной валюты добавляем id например вот так id="curs-euro"
EUR ЦБ: <b id="curs-euro">{euro}</b>


2. В шаблоне вывода стоимости вашего товара на страницах fullstory.tpl так же добавляем id для тега вывода цены.
Например вот так id="curs-price"
<p>
      Исходная цена: <span id="curs-price">[xfvalue_xml2tpl_price]</span> [xfvalue_xml2tpl_currencyid] <sup class="text-danger">*</sup>
</p>
<p class="small">
      * - оплата в рублях по курсу ЦБ России
</p>


Где [xfvalue_xml2tpl_price] это тег дополнительного поля с ценой на товар.

3. Добавляем html код для вывода полученной цены (курс валюты умноженный на цену в валюте)

ЦЕНА:  <span id="curs-localcost"></span>



Готовый результат:

Как вывести цену на сайте в рублях если исходная в евро через js



Пример кода в fullstory.tpl целиком
<div class="py-3">
	ЦЕНА:  <span id="curs-localcost"></span> 
	<p>
		Исходная цена: <span id="curs-price">[xfvalue_xml2tpl_price]</span> [xfvalue_xml2tpl_currencyid] <sup class="text-danger">*</sup>
	</p>
	<p class="small">
		* - оплата в рублях по курсу ЦБ России
	</p>
</div>
<script>
window.onload = function() {
    let cursPrice = document.getElementById('curs-price').innerHTML; // обьявляю переменную для цены в евро
    let cursEuro = document.getElementById('curs-euro').innerHTML; // обьявляю переменную для курса евро на сегодня из плагина {THEME}/assets/cbr-exrate/exrate.tpl
    let localePrice = cursPrice * cursEuro; // перемножаем объявленные переменные
    let localeCost = (localePrice).toLocaleString('ru-RU', {
        style: 'currency',
        currency: "RUB"
    })
    document.getElementById('curs-localcost').innerHTML = localeCost; // выводим строку результата
}
</script>
Плагин cbr-exrate - Курсы валют для DLE

Курсы валют ЦентроБанка России для DataLife Engine. Обновленная версия плагина для DLE 13 и выше. В основе версия...

Подробнее
Как сделать падающий снег на сайте (вариант 2)

Для всех тех, кто хочет видеть на своем сайте пдающий снег, но кому не подошел вариант описанный в новости "скрипт...

Подробнее
Снег на сайте для DLE

Очередная реализация снежинок для сайта - создаем новогоднее настроение средствами JS. Вывод снежинок организуем через...

Подробнее
Официальный RSS Youtube - как запускать видео на сайте

Еще один способ для запуска видео с ваших каналов и из плейлистов на своем сайте. На этот раз через официальный RSS...

Подробнее
Оформление заглушки для сайта на время его обновления или ремонта

Время от времени возникает необходимость отключить сайт для проведения профилактических работ по обновлению скриптов. В...

Подробнее
Скрипт падающего снега на сайте

Скрипт падающего снега обычно используют перед новым годом Собственно все элементарно! В тело html страницы вставляем...

Подробнее

💬 Комментарии

В связи с новыми требованиями законодательства РФ (ФЗ-152, ФЗ «О рекламе») и ужесточением контроля со стороны РКН, мы отключили систему комментариев на сайте.

🔒 Важно Теперь мы не собираем и не храним ваши персональные данные — даже если очень захотим.

💡 Хотите обсудить материал?

Присоединяйтесь к нашему Telegram-каналу:

https://t.me/tcsecms/

Нажмите кнопку ниже — и вы сразу попадёте в чат с комментариями