Краткая информация о модуле (хаке)
Автор: TCSE
Версия DLE:
13 и выше
Обновленная версия плагина для DLE 13 и выше. В основе версия модуля 2007 года Загрузка курса валют с сайта ЦентроБанка РФ адаптированная для актуальных версий движка.
Так же добавлены следующие улучшения:
- Вывод курса на завтра
- Кеширование курсов
Репозиторий плагина https://github.com/tcse/cbr-exrate
Установка
Через систему плагинов DLE 13 и выше.
В шаблон сайта main.tpl в удобное место добавить тег {exrate}
Редактировать шаблон валют
Открыть файл шаблона {THEME}/assets/cbr-exrate/exrate.tpl и внести необходимые изменения.
Поддерживаемые теги:
USD ЦБ: {dollar}
EUR ЦБ: {euro}
BYN ЦБ: {byn}
KZT ЦБ: {kzt}
UAH ЦБ: {uah}
Дополнительные теги (отображаются, только если сайт www.cbr.ru выдал эти значения)
[tommorow] и [/tommorow] - отображает предполагаемые курсы валют на завтра
{dollar-tommrow} - вывод курса доллара США на завтра
{euro-tomorrow} - вывод курса Евро на завтра
{byn-tomorrow} - вывод курса Беларуского рубля на завтра
{kzt-tomorrow} - вывод курса Казахстанского тенге на завтра
{uah-tomorrow} - вывод курса Украинской гривны на завтра
Примеры отображения курса валют на клиентских сайтах
Добавление новых валют
В первую очередь необходимо получить список доступных валют и их цифровой код.
Для этого открыть ссылку http://www.cbr.ru/scripts/XML_daily.asp
Нас интересуют следующие параметры в каждой из записей.
<NumCode>417</NumCode>
для получения текущего курса.
<CharCode>KGS</CharCode>
для создания тега в модуле.
<Nominal>100</Nominal>
для понимания соотношений за 1 единицу или за любое иное количество.
К примеру Казахстанский тенге ЦБ РФ оценивает за 100 единиц, а Беларуский рубль за 1 единицу.
Например, мы хотим добавить Узбекский сум
Его параметры
<Valute ID="R01717">
<NumCode>860</NumCode>
<CharCode>UZS</CharCode>
<Nominal>10000</Nominal>
<Name>Узбекских сумов</Name>
<Value>71,9037</Value>
</Valute>
Что бы добавить новую валюты, необходимо внести правки в файл плагина engine/modules/mod_tcse/cbr-exrate/exrate.php
Найти код:
//за сегодня
$today = get_currency (date("d/m/Y"));
$tpl->set('{dollar}', $today[0]);
$tpl->set('{euro}', $today[1]);
$tpl->set('{byn}', $today[2]);
$tpl->set('{kzt}', $today[3]);
$tpl->set('{uah}', $today[4]);
И после добавить:
$tpl->set('{uzs}', $today[5]);
далее найти код:
if($cur[2] == 980) $currency[4] = str_replace(",",".",$cur[4]);
и ниже добавить:
if($cur[2] == 860) $currency[4] = str_replace(",",".",$cur[5]);
Далее открыть файл шаблона {THEME}/assets/cbr-exrate/exrate.tpl
и после строки:
<tr>
<td>UAH ЦБ: <b>{uah}</b> <i class="fa fa-rub"></i> за 10 Украинских гривен</td>
</tr>
Вставить:
<tr>
<td>UAH ЦБ: <b>{uzs}</b> <i class="fa fa-rub"></i> за 10 000 Узбекских сумов</td>
</tr>
Скачать плагин https://github.com/tcse/cbr-exrate/releases/