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

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

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>
Виталий Чуяков

Виталий Чуяков

Технологический прагматик

Веб-разработчик с 20-летним стажем, основатель веб-студии TCSE. Специализация: DLE «под ключ», Webasyst, Parts-Soft.ru, технический аудит.

🧠 20 лет 🚀 120+ проектов 📄 45+ статей
Как сделать падающий снег на сайте (вариант 2)

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

Подробнее
DLE-xml2tpl - Импорт новостей в формат YML средствами движка DLE

В данной статье будут описаны принципы создания шаблона в формате XML для дальнейшей самостоятельной модификации. Стоит...

Подробнее
TCSE TradeMod - Разработка модуля интернет-магазина для DLE

Представляем вашему вниманию анонс модуля интернет-магазина для CMS DLE - TCSE TradeMod. В отличии от разработок других...

Подробнее
Админка интернет-магазина KeyShop

Описание основных возможностей интернет-магазина KeyShop работающего на программной основе DLE-CMS. Список нововведений...

Подробнее
DLE2JSON - Импорт из БД DLE анонсов публикаций в JSON

DLE2JSON — это плагин для DLE CMS (DataLife Engine), который позволяет экспортировать данные из категорий сайта в...

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

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

Подробнее

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

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

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

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

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

https://t.me/tcsecms

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