LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 03:29:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Модуль "Курс валют и драгметаллов от НБУ и ЦБР"  (Прочитано 2685 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Chifu
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 63



« : 14.02.2011, 07:20:29 »

Модуль показывает:
  • Курс валют от НБУ
  • Курс валют от ЦБР
  • Курс драгметаллов от НБУ
  • Курс драгметаллов от ЦБР

Настройки модуля из админки:
  • Вид:
    • краткий - показывает основные валюты: UAH, RUB, USD, EUR.
    • полный - все остальные валюты.
  • Язык выводимого модулем текста:
    • русский
    • украинский
  • Выводить или нет описание(TITLE) курса.
  • Показывать или нет картинки.
  • Показывать или нет флаги государств.
  • Показывать или нет эмблемы драгметаллов.
  • Вид эмблем драгметаллов:
    • темные
    • светлые
  • Отображать или нет курс валют НБУ
  • Отображать или нет курс валют ЦБР
  • Отображать или нет курс драгметаллов НБУ
  • Отображать или нет курс драгметаллов ЦБР

  • Кэша нету, берёт информацию прямо из XML файлов которые предоставляют банки на своих сайтах.
  • Если курса драгметаллов от ЦБР нету на сегодня, он выводит курс двухдневной давности (такое часто бывает, так как ЦБР на выходных не обновляет XML файлы.

Версия: 1.0.1
Совместимость с Joomla 1.5.x

Скачать модуль.


P.S. Искал работающий модуль курса валют и драгметаллов пару дней, они оказывались либо не рабочими, а заставлять их работать было не охота, либо не тем чем нужно, в общем чтобы всё в одном было, я так и не нашёл (кто-то скажет что плохо искал). Как бы там не было, я решил сделать собственный который бы подходил мне, но есть несколько НО. PHP я знал на уровне арифметических операций и условий, больше ничего. Как создавать модули для Joomla я тоже не знал, так же я не знал как работать с XML данными, да я вообще мало чего знал. Вооружившись Гуглом, твёрдым решением и несколькими днями (точнее 5), я смог сделать то что сделал, точнее написать с нуля используя знания полученные путём изучения кода в похожих модулях.

Буду рад любым замечаниям, предложениям, да и просто комментариям.
Надеюсь кому-то пригодится Azn
« Последнее редактирование: 01.03.2011, 19:21:11 от Chifu » Записан
palexa
Живу я здесь
******

Репутация: +78/-0
Offline Offline

Пол: Мужской
Сообщений: 1093


В следующей жизни, я буду кошкой


« Ответ #1 : 19.02.2011, 04:26:56 »

Ну вставлю я свой пятак и напишу парочку замечаний

1. На http://www.bank.gov.ua/ нет файла XML - данные берутся с сайта http://bank-ua.com/ - поэтому пишите ссылку в модуле на реальный источник XML
2. Добавьте столбец в таблице - Количество единиц - потому что например курс белорусского рубля по отношению к гривне НБУ идёт к 10 а не 100 как Вы написали, то есть
 
Цитировать
10 BYR білоруських рублів  -  0.0263
а у Вас получаеться что
100 BYR    0.03    

или

10 RUB російських рублів -  2.7143
а у Вас получаеться что
100 RUB    2.71    

или

1000 HUF угорських форинтів -  40.0746
а у Вас получаеться что
100 HUF    40.07  

3. допишите столбец - Название валюты, потому что код это хорошо, но название ещё лучше

По драгметалам я не в курсе что к чему, НБУ вроде в унциях считает (1 Тройська унція = 31,1034763826794 грамам) - я так понял Вы пересчёт сделали в коде

Ну а так вроде очень даже хорошо

P.S. Вчера выкладывал здесь рабочий модуль, жаль раньше Вашего не видел, но если бы видел, то необратил бы внимания на своё замечание №2 Azn
« Последнее редактирование: 19.02.2011, 04:38:01 от palexa » Записан
Chifu
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 63



« Ответ #2 : 23.02.2011, 16:50:19 »

Спасибо за комментарий palexa Azn

Да, недочёты есть и в больших количествах, по крайней мере сейчас я их вижу отчётливо. Я тоже делал "для себя" впрочем я так и говорил, при этом знаний практически нету, всё на тяп-ляп, потому что заказчик захотел курс у себя на сайте вывести )

Я сделал пересчёт всех единиц валют, поэтому и пишется что цена за 100 единиц, как белорусских рублей так и всяких японских тугриков. Так же я сделал пересчёт унций в граммы, потому что многим именно в граммах нужно.
По поводу ссылки на сайт, да, тут я просмотрел как-то, но это не столь важно.

Когда найду время, переделаю модуль этот правильно и расширю функционал. В планах:
- вывод цены металлов за 1 грамм или за 1 унцию
- добавления курса валют и металлов от Белорусских банков
- добавление названий валют
- полная локализация в том числе названий валют
- несколько вариантов отображений данных в том числе разные стили картинок

- исправление работы курса металлов от ЦБР

Где-то так, сейчас вот коплю знания, чтобы сделать кеширование как-то. Кто может помочь мне в этом и соответственно преподать урок программирования всех пользователям форума, велкам Azn
Записан
palexa
Живу я здесь
******

Репутация: +78/-0
Offline Offline

Пол: Мужской
Сообщений: 1093


В следующей жизни, я буду кошкой


« Ответ #3 : 24.02.2011, 01:26:09 »

Я сделал пересчёт всех единиц валют, поэтому и пишется что цена за 100 единиц, как белорусских рублей
Может Вы не поняли, или я не понял, что Вы поняли, смотрите внимательно:
у Вас: 100 RUB    2.71
НБУ: 10 RUB    2.71

Разницу улавили ?
Смотрите свой курс, и курс НБУ
Где-то так, сейчас вот коплю знания, чтобы сделать кеширование как-то. Кто может помочь мне в этом и соответственно преподать урок программирования всех пользователям форума, велкам Azn
Добавте в конце своего XML файла
Цитировать
<params group="advanced">
      <param name="cache" type="list" default="1" label="Caching" description="Select whether to cache the content of this module">
         <option value="1">Use global</option>
         <option value="0">No caching</option>
      </param>
      <param name="cache_time" type="text" default="900" label="Cache Time" description="The time before the module is recached" />
   </params>
, пример можете посмотреть в файле любого стандартного модуля, где задаётся кеширование, по идее должно работать
Записан
Chifu
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 63



« Ответ #4 : 24.02.2011, 10:12:12 »

palexa, спасибо ещё раз.

С курсами в модуле всё нормально, как я и говорил, цена в гривнах за 100 единиц валюты. С рублями всё в порядке, за 100 рублей дают столько-то гривен по курсу, не понимаю от куда у вас взялась цифра "2.71", когда у меня явно показывает правильно, четырёхзначная цифра.

На счёт кэша, я не такой имел ввиду, хочется чтобы он инфу хранил в XML файле на сайте, и обновлял его раз в день, и если бы данных не было пару дней, как это бывает на выходных, то разницу сравнивал бы с последними данными из кэшированного файла. Это для ЦБР, так как украниские курсы это пустяк, всего то надо отобразить данные которые подсчитаны уже, а не так как с сайта ЦБР.
Записан
palexa
Живу я здесь
******

Репутация: +78/-0
Offline Offline

Пол: Мужской
Сообщений: 1093


В следующей жизни, я буду кошкой


« Ответ #5 : 24.02.2011, 19:31:28 »

С курсами в модуле всё нормально, как я и говорил, цена в гривнах за 100 единиц валюты. С рублями всё в порядке, за 100 рублей дают столько-то гривен по курсу, не понимаю от куда у вас взялась цифра "2.71", когда у меня явно показывает правильно, четырёхзначная цифра.
Щас поставлю куда нить, посмотрю, может это я туплю
На счёт кэша, я не такой имел ввиду, хочется чтобы он инфу хранил в XML файле на сайте
Могу подсказать один метод, я так делаю, но я имею прямой доступ к серверу, и Инет на серваке через прокси, (сайт в локалке)
Может этот пример поможет тебе.

Суть такова, в крон пишу задание, выполнять указанный файл в определённое время (например 1 раз в сутки после смены курса),  даю этому файлу права на исполнение файла как программа.
Код:
#!/usr/bin/php
<?php
 
$start = microtime(true);
//Отображать все ошибки, кроме notice и strict
error_reporting(E_ALL ^ E_NOTICE ^ E_STRICT);

set_time_limit(60);
$si = $GLOBALS["_SERVER"]["SERVER_NAME"];
$te = $GLOBALS["_SERVER"]["SCRIPT_NAME"];
$host = 'ip-proxy';
 
$fp = fsockopen("$host", port-proxy, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET http://bank-ua.com/export/currrate.xml HTTP/1.0\r\n";
    $out .= "Host: bank-ua.com\r\n";
    $out .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3)\r\n";
    $out .= "Accept: text/javascript, text/html, application/xml, text/xml, */*\r\n";
    $out .= "Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n";
    $out .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
    $out .= "X-Requested-With: XMLHttpRequest\r\n";
    $out .= "X-Prototype-Version: 1.5.0\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);  // отправляем заголовки
    $res = "";
    while (!feof($fp)) {
        $res .= fread($fp, 1024);
    }
    fclose($fp);
    $res = explode("\r\n\r\n",$res,2);
}
print_r($res); //выводим результат
 
$fl = "/var/www/html/my-site.ru/nbu.xml";
$fp = fopen($fl, w);
fwrite($fp, $res[1]); //записываем тело в файл
?>

Ну вот, теперь нужный нам .xml лежит в корне сайта, с него и берём данные, что бы не брать их постоянно с bank-ua.com
Записан
StasBanki
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #6 : 28.02.2011, 14:38:44 »

День добрый господа! Может кто нибудь подсказать, существует ли модуль который показывает курсы сразу от не скольких банков? Поясню! Есть куча модулей показывающих курсы украинских монгольских и прочих иностранных банков, но мне это не нужно, я нашел только модуль берущий инфу с ЦБР, а хочу сделать так чтоб выглядело как таблица где были бы указаны банки к примеру омские и курсы евро и доллара каждого из них! Поможите люди добрые)
Записан
Chifu
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 63



« Ответ #7 : 28.02.2011, 21:19:11 »

StasBanki, наверное нету, но интересная идея для реализации. Спасибо, включу это в будущие фишки модуля Azn
Записан
chemerzaev
Завсегдатай
*****

Репутация: +74/-3
Offline Offline

Пол: Мужской
Сообщений: 755


Надо мыслить. Меня, например, кормят идеи.


« Ответ #8 : 28.02.2011, 21:40:28 »

1. Не хватает вывода цены покупка/продажа
2. при включении данного модуля на фронте встала белая страница на котором был только данный модуль с курсом
Записан
palexa
Живу я здесь
******

Репутация: +78/-0
Offline Offline

Пол: Мужской
Сообщений: 1093


В следующей жизни, я буду кошкой


« Ответ #9 : 28.02.2011, 22:12:33 »

С курсами в модуле всё нормально, как я и говорил, цена в гривнах за 100 единиц валюты. С рублями всё в порядке, за 100 рублей дают столько-то гривен по курсу, не понимаю от куда у вас взялась цифра "2.71", когда у меня явно показывает правильно, четырёхзначная цифра.

Может я плохо пишу, что Вы не понимаете, вот Вам склеенный скрин от Вашего модуля и с оф. страницы НБУ



Посмотрите разницу едениц валюты, и его курс к гривне
Записан
Chifu
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 63



« Ответ #10 : 28.02.2011, 22:47:51 »

palexa, прошу прощения, я не залил новую версию 14-го февраля когда мелкие баги вылавливал Sad В принципе, это можно легко исправить в коде.

chemerzaev, к сожалению я так и не смог до конца сделать модуль драгметаллов от ЦБР, он на выходных не обновляет данные, а в понедельник данные только на один день, короче происходит сбой с парсером, так как он не получил данные которые должен был. Будет исправлено в будущем.
Записан
palexa
Живу я здесь
******

Репутация: +78/-0
Offline Offline

Пол: Мужской
Сообщений: 1093


В следующей жизни, я буду кошкой


« Ответ #11 : 28.02.2011, 23:16:00 »

1. Обычно исправляют баги если их явно видно, но этот незаметно, так как никто же не будет сверять каждую валюту на правильность, предлагаю Вам это исправить, и написать в первом посте что исправлено, что бы знали те, кто скачал

2. Я не в курсе как в ЦБР (но думаю так же), но в НБУ точно, в пятницу после 17 часов, курс даётся уже на понедельник, в суботу и воскресение курс не меняется нацбанком
Записан
Chifu
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 63



« Ответ #12 : 28.02.2011, 23:39:47 »

palexa, с ЦБР немного сложнее, по крайней мере для меня, увы. Если НБУ или кто там даёт сформированный XML документ который осталось только вывести, в том числе и разницу, то с ЦБР нужно скриптить разницу и выводить её отдельно с помощью скрипта, а так как по выходным курс не обновляется, а просто становиться чистым документом что не приемлемо для парсера.

Короче говоря, исправлю, и спасибо вам за помощь Wink
Записан
palexa
Живу я здесь
******

Репутация: +78/-0
Offline Offline

Пол: Мужской
Сообщений: 1093


В следующей жизни, я буду кошкой


« Ответ #13 : 01.03.2011, 00:27:05 »

Да, жаль, ну может я просто не в курсе. Этот файл что низзя так же само вывести, как этот xml ?

Никакого же пересчёта не надо, просто вывести как я вывел НБУ

Посмотрю его на выходных, неужели там данных нет
« Последнее редактирование: 01.03.2011, 00:33:14 от palexa » Записан
Chifu
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 63



« Ответ #14 : 01.03.2011, 12:48:13 »

palexa, неа, там данные на один день, соответственно нужно сравнивать данные за вчера, считать, и выводить разницу курса сегодняшнего и вчерашнего. Благо с курсами валют ЦБР нет такого геморроя как с курсом драгметаллов от ЦБР Azn
Записан
palexa
Живу я здесь
******

Репутация: +78/-0
Offline Offline

Пол: Мужской
Сообщений: 1093


В следующей жизни, я буду кошкой


« Ответ #15 : 01.03.2011, 15:21:27 »

ага, точно. Я как то сразу не заметил. Это действительно проблема, если надо выводить разницу курса

Кстате, Вы обновили скрипт в шапке или нет ?
Записан
Chifu
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 63



« Ответ #16 : 01.03.2011, 19:22:31 »

Да вроде как обновил. Сейчас просто банально нету времени заняться этим модулем вплотную, но обещаю в ближайшую неделю перековеркать его, хотя бы частично Azn
Записан
Виталик
Группа развития
*****

Репутация: +76/-0
Offline Offline

Пол: Мужской
Сообщений: 1276



« Ответ #17 : 01.03.2011, 23:17:18 »

не скачивается файл
Записан
Chifu
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 63



« Ответ #18 : 02.03.2011, 16:52:51 »

Виталик, я попробовал, всё скачивается с Депозитфайла - http://depositfiles.com/files/936swfbhl
Записан
IvanGres
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 6


« Ответ #19 : 14.03.2011, 13:23:56 »

Кажись сегодня сайт банк-уа банально помер))  и работоспособность модуля вместе с ним...
Записан
palexa
Живу я здесь
******

Репутация: +78/-0
Offline Offline

Пол: Мужской
Сообщений: 1093


В следующей жизни, я буду кошкой


« Ответ #20 : 14.03.2011, 15:11:37 »

да не поднимай панику Azn такие сайты не умирают. Уже работает
Записан
nookie_l
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 60


« Ответ #21 : 30.06.2011, 13:16:48 »

Привет всем! Модуль очень понравился но есть такая проблемка:

На другой версии Joomla на этом же локальном сервере всё отлично. Как быть?
Записан
nookie_l
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 60


« Ответ #22 : 30.06.2011, 13:56:39 »

Просто не могу понять - удаляя эту строку №18 всё норм. Может потом как-то боком вылезти, что я её удалил.закоментировал?
Цитировать
include_once( $mosConfig_absolute_path .'includes/domit/xml_domit_include.php' );
Записан
nookie_l
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 60


« Ответ #23 : 01.07.2011, 14:55:23 »

Решено - строчка "закомментирована".
Записан
nookie_l
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 60


« Ответ #24 : 07.07.2011, 13:41:30 »

После переезда на хостинг пострадал модуль..

Подскажите как исправить исчезнувший курс?
« Последнее редактирование: 07.07.2011, 13:45:38 от nookie_l » Записан
crocus
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 34


« Ответ #25 : 04.08.2011, 15:15:26 »

подскажите, как добавить в модуль данные о недрагоценном металле ? необходимо чтобы было как на этом сайте   -      http://www.zincoxide.ru/
Записан
stef21
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 144


« Ответ #26 : 17.08.2011, 13:24:29 »

Пипец сайт чуть не угробил этим модулем. После удаления модуля сайт заработал, но перекосило позиции модулей, те что были в низу стали в правой колонке, копаю ищу причину
« Последнее редактирование: 17.08.2011, 15:18:30 от stef21 » Записан
vitaliy.balatskiy
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 105



« Ответ #27 : 03.10.2011, 14:42:38 »

После переезда на хостинг пострадал модуль..

Подскажите как исправить исчезнувший курс?
Та же фигня. Но только  я еого сразу же устанавливал на хостинг.
Записан
Diman
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 20


« Ответ #28 : 12.11.2011, 14:58:30 »

Подскажите пожалуйста, а как сделать чтобы было на за 100 единиц, а за 1 ?  dry
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet