Chifu
Осваиваюсь на форуме
 
Репутация: +3/-0
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), я смог сделать то что сделал, точнее написать с нуля используя знания полученные путём изучения кода в похожих модулях. Буду рад любым замечаниям, предложениям, да и просто комментариям. Надеюсь кому-то пригодится 
|
|
|
|
« Последнее редактирование: 01.03.2011, 19:21:11 от Chifu »
|
Записан
|
|
|
|
|
palexa
|
 |
« Ответ #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 
|
|
|
|
« Последнее редактирование: 19.02.2011, 04:38:01 от palexa »
|
Записан
|
|
|
|
Chifu
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 63
|
 |
« Ответ #2 : 23.02.2011, 16:50:19 » |
|
Спасибо за комментарий palexa  Да, недочёты есть и в больших количествах, по крайней мере сейчас я их вижу отчётливо. Я тоже делал "для себя" впрочем я так и говорил, при этом знаний практически нету, всё на тяп-ляп, потому что заказчик захотел курс у себя на сайте вывести ) Я сделал пересчёт всех единиц валют, поэтому и пишется что цена за 100 единиц, как белорусских рублей так и всяких японских тугриков. Так же я сделал пересчёт унций в граммы, потому что многим именно в граммах нужно. По поводу ссылки на сайт, да, тут я просмотрел как-то, но это не столь важно. Когда найду время, переделаю модуль этот правильно и расширю функционал. В планах: - вывод цены металлов за 1 грамм или за 1 унцию - добавления курса валют и металлов от Белорусских банков - добавление названий валют - полная локализация в том числе названий валют - несколько вариантов отображений данных в том числе разные стили картинок - исправление работы курса металлов от ЦБР Где-то так, сейчас вот коплю знания, чтобы сделать кеширование как-то. Кто может помочь мне в этом и соответственно преподать урок программирования всех пользователям форума, велкам 
|
|
|
|
|
Записан
|
|
|
|
|
palexa
|
 |
« Ответ #3 : 24.02.2011, 01:26:09 » |
|
Я сделал пересчёт всех единиц валют, поэтому и пишется что цена за 100 единиц, как белорусских рублей
Может Вы не поняли, или я не понял, что Вы поняли, смотрите внимательно: у Вас: 100 RUB 2.71 НБУ: 10 RUB 2.71 Разницу улавили ? Смотрите свой курс, и курс НБУГде-то так, сейчас вот коплю знания, чтобы сделать кеширование как-то. Кто может помочь мне в этом и соответственно преподать урок программирования всех пользователям форума, велкам  Добавте в конце своего 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
Пол: 
Сообщений: 63
|
 |
« Ответ #4 : 24.02.2011, 10:12:12 » |
|
palexa, спасибо ещё раз.
С курсами в модуле всё нормально, как я и говорил, цена в гривнах за 100 единиц валюты. С рублями всё в порядке, за 100 рублей дают столько-то гривен по курсу, не понимаю от куда у вас взялась цифра "2.71", когда у меня явно показывает правильно, четырёхзначная цифра.
На счёт кэша, я не такой имел ввиду, хочется чтобы он инфу хранил в XML файле на сайте, и обновлял его раз в день, и если бы данных не было пару дней, как это бывает на выходных, то разницу сравнивал бы с последними данными из кэшированного файла. Это для ЦБР, так как украниские курсы это пустяк, всего то надо отобразить данные которые подсчитаны уже, а не так как с сайта ЦБР.
|
|
|
|
|
Записан
|
|
|
|
|
palexa
|
 |
« Ответ #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
Сообщений: 2
|
 |
« Ответ #6 : 28.02.2011, 14:38:44 » |
|
День добрый господа! Может кто нибудь подсказать, существует ли модуль который показывает курсы сразу от не скольких банков? Поясню! Есть куча модулей показывающих курсы украинских монгольских и прочих иностранных банков, но мне это не нужно, я нашел только модуль берущий инфу с ЦБР, а хочу сделать так чтоб выглядело как таблица где были бы указаны банки к примеру омские и курсы евро и доллара каждого из них! Поможите люди добрые)
|
|
|
|
|
Записан
|
|
|
|
Chifu
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 63
|
 |
« Ответ #7 : 28.02.2011, 21:19:11 » |
|
StasBanki, наверное нету, но интересная идея для реализации. Спасибо, включу это в будущие фишки модуля 
|
|
|
|
|
Записан
|
|
|
|
chemerzaev
Завсегдатай
   
Репутация: +74/-3
Offline
Пол: 
Сообщений: 755
Надо мыслить. Меня, например, кормят идеи.
|
 |
« Ответ #8 : 28.02.2011, 21:40:28 » |
|
1. Не хватает вывода цены покупка/продажа 2. при включении данного модуля на фронте встала белая страница на котором был только данный модуль с курсом
|
|
|
|
|
Записан
|
|
|
|
|
palexa
|
 |
« Ответ #9 : 28.02.2011, 22:12:33 » |
|
С курсами в модуле всё нормально, как я и говорил, цена в гривнах за 100 единиц валюты. С рублями всё в порядке, за 100 рублей дают столько-то гривен по курсу, не понимаю от куда у вас взялась цифра "2.71", когда у меня явно показывает правильно, четырёхзначная цифра.
Может я плохо пишу, что Вы не понимаете, вот Вам склеенный скрин от Вашего модуля и с оф. страницы НБУ Посмотрите разницу едениц валюты, и его курс к гривне
|
|
|
|
|
Записан
|
|
|
|
Chifu
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 63
|
 |
« Ответ #10 : 28.02.2011, 22:47:51 » |
|
palexa, прошу прощения, я не залил новую версию 14-го февраля когда мелкие баги вылавливал  В принципе, это можно легко исправить в коде. chemerzaev, к сожалению я так и не смог до конца сделать модуль драгметаллов от ЦБР, он на выходных не обновляет данные, а в понедельник данные только на один день, короче происходит сбой с парсером, так как он не получил данные которые должен был. Будет исправлено в будущем.
|
|
|
|
|
Записан
|
|
|
|
|
palexa
|
 |
« Ответ #11 : 28.02.2011, 23:16:00 » |
|
1. Обычно исправляют баги если их явно видно, но этот незаметно, так как никто же не будет сверять каждую валюту на правильность, предлагаю Вам это исправить, и написать в первом посте что исправлено, что бы знали те, кто скачал
2. Я не в курсе как в ЦБР (но думаю так же), но в НБУ точно, в пятницу после 17 часов, курс даётся уже на понедельник, в суботу и воскресение курс не меняется нацбанком
|
|
|
|
|
Записан
|
|
|
|
Chifu
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 63
|
 |
« Ответ #12 : 28.02.2011, 23:39:47 » |
|
palexa, с ЦБР немного сложнее, по крайней мере для меня, увы. Если НБУ или кто там даёт сформированный XML документ который осталось только вывести, в том числе и разницу, то с ЦБР нужно скриптить разницу и выводить её отдельно с помощью скрипта, а так как по выходным курс не обновляется, а просто становиться чистым документом что не приемлемо для парсера. Короче говоря, исправлю, и спасибо вам за помощь 
|
|
|
|
|
Записан
|
|
|
|
|
palexa
|
 |
« Ответ #13 : 01.03.2011, 00:27:05 » |
|
Да, жаль, ну может я просто не в курсе. Этот файл что низзя так же само вывести, как этот xml ? Никакого же пересчёта не надо, просто вывести как я вывел НБУПосмотрю его на выходных, неужели там данных нет
|
|
|
|
« Последнее редактирование: 01.03.2011, 00:33:14 от palexa »
|
Записан
|
|
|
|
Chifu
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 63
|
 |
« Ответ #14 : 01.03.2011, 12:48:13 » |
|
palexa, неа, там данные на один день, соответственно нужно сравнивать данные за вчера, считать, и выводить разницу курса сегодняшнего и вчерашнего. Благо с курсами валют ЦБР нет такого геморроя как с курсом драгметаллов от ЦБР 
|
|
|
|
|
Записан
|
|
|
|
|
palexa
|
 |
« Ответ #15 : 01.03.2011, 15:21:27 » |
|
ага, точно. Я как то сразу не заметил. Это действительно проблема, если надо выводить разницу курса
Кстате, Вы обновили скрипт в шапке или нет ?
|
|
|
|
|
Записан
|
|
|
|
Chifu
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 63
|
 |
« Ответ #16 : 01.03.2011, 19:22:31 » |
|
Да вроде как обновил. Сейчас просто банально нету времени заняться этим модулем вплотную, но обещаю в ближайшую неделю перековеркать его, хотя бы частично 
|
|
|
|
|
Записан
|
|
|
|
|
Виталик
|
 |
« Ответ #17 : 01.03.2011, 23:17:18 » |
|
не скачивается файл
|
|
|
|
|
Записан
|
|
|
|
Chifu
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 63
|
 |
« Ответ #18 : 02.03.2011, 16:52:51 » |
|
Виталик, я попробовал, всё скачивается с Депозитфайла - http://depositfiles.com/files/936swfbhl
|
|
|
|
|
Записан
|
|
|
|
IvanGres
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 6
|
 |
« Ответ #19 : 14.03.2011, 13:23:56 » |
|
Кажись сегодня сайт банк-уа банально помер)) и работоспособность модуля вместе с ним...
|
|
|
|
|
Записан
|
|
|
|
|
palexa
|
 |
« Ответ #20 : 14.03.2011, 15:11:37 » |
|
да не поднимай панику  такие сайты не умирают. Уже работает
|
|
|
|
|
Записан
|
|
|
|
nookie_l
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 60
|
 |
« Ответ #21 : 30.06.2011, 13:16:48 » |
|
Привет всем! Модуль очень понравился но есть такая проблемка:  На другой версии Joomla на этом же локальном сервере всё отлично. Как быть?
|
|
|
|
|
Записан
|
|
|
|
nookie_l
Осваиваюсь на форуме
 
Репутация: +0/-0
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
Сообщений: 60
|
 |
« Ответ #23 : 01.07.2011, 14:55:23 » |
|
Решено - строчка "закомментирована".
|
|
|
|
|
Записан
|
|
|
|
nookie_l
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 60
|
 |
« Ответ #24 : 07.07.2011, 13:41:30 » |
|
После переезда на хостинг пострадал модуль..  Подскажите как исправить исчезнувший курс?
|
|
|
|
« Последнее редактирование: 07.07.2011, 13:45:38 от nookie_l »
|
Записан
|
|
|
|
crocus
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 34
|
 |
« Ответ #25 : 04.08.2011, 15:15:26 » |
|
подскажите, как добавить в модуль данные о недрагоценном металле ? необходимо чтобы было как на этом сайте - http://www.zincoxide.ru/
|
|
|
|
|
Записан
|
|
|
|
stef21
Осваиваюсь на форуме
 
Репутация: +8/-0
Offline
Сообщений: 144
|
 |
« Ответ #26 : 17.08.2011, 13:24:29 » |
|
Пипец сайт чуть не угробил этим модулем. После удаления модуля сайт заработал, но перекосило позиции модулей, те что были в низу стали в правой колонке, копаю ищу причину
|
|
|
|
« Последнее редактирование: 17.08.2011, 15:18:30 от stef21 »
|
Записан
|
|
|
|
vitaliy.balatskiy
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Пол: 
Сообщений: 105
|
 |
« Ответ #27 : 03.10.2011, 14:42:38 » |
|
После переезда на хостинг пострадал модуль..  Подскажите как исправить исчезнувший курс? Та же фигня. Но только я еого сразу же устанавливал на хостинг.
|
|
|
|
|
Записан
|
|
|
|
Diman
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 20
|
 |
« Ответ #28 : 12.11.2011, 14:58:30 » |
|
Подскажите пожалуйста, а как сделать чтобы было на за 100 единиц, а за 1 ? 
|
|
|
|
|
Записан
|
|
|
|
|