0 Пользователей и 1 Гость просматривают эту тему.
  • 208 Ответов
  • 116353 Просмотров
*

MarksMan

  • Осваиваюсь на форуме
  • 35
  • 8 / 5
Курс валют
« : 01.01.2006, 13:48:23 »
Товарищи, кто сможет сделать модуль вывода курса валют вот из этого кода, только чтобы в модуле выводились те валюты, которые указаны в скрипте, а не все подряд, и надо чтобы все разделялось по колонкам. н-р USD-(валюта) | 678-(номер валюты) | 28.235-(цена)
А ещё лучше сделать модуль+компонент, где будет настраиваться вывод нужных валют и тп.
Я пробовал сделать, но у меня место 2ух валют показывает все которые есть в Центробанке :(.
Думаю такой модуль-компонент будет пользоваться большой популярностью.
Код
<?php 
  // Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru
  $content = get_content();
  // Разбираем содержимое, при помощи регулярных выражений
  $pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
  preg_match_all($pattern, $content, $out, PREG_SET_ORDER);
  $dollar = "";
  $euro = "";
  foreach($out as $cur)
  {
    if($cur[2] == 840) $dollar = str_replace(",",".",$cur[4]);
    if($cur[2] == 978) $euro   = str_replace(",",".",$cur[4]);
  }
  echo $dollar."<br>";
  echo $euro."<br>";
  function get_content()
  {
    // Формируем сегодняшнюю дату
    $date = date("d/m/Y");
    // Формируем ссылку
    $link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date";
    // Загружаем HTML-страницу
    $fd = fopen($link, "r");
    $text="";
    if (!$fd) echo "Запрашиваемая страница не найдена";
    else
    {
      // Чтение содержимого файла в переменную $text
      while (!feof ($fd)) $text .= fgets($fd, 4096);
    }
    // Закрыть открытый файловый дескриптор
    fclose ($fd);
    return $text;
  }
?>
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #1 : 01.01.2006, 14:15:08 »
да мне кажется что все это можно сделать модулем, без компонента...
давай, расскажи по-подробнее, какие нужны настройки, и я сделаю такой модуль
*

MarksMan

  • Осваиваюсь на форуме
  • 35
  • 8 / 5
Re:Курс валют
« Ответ #2 : 01.01.2006, 16:13:24 »
В общем буду по порядку:
1. Показ валюты USD и Euro в блоке в таком виде:
USD   |  840 |  28.2322
Euro   |  978 |  36.3524
Т.е. 1 колонка имя валюты, 2 колонка номер валюты, 3 колонка стоимость валюты
2. Под этими двумя валютами, нужна кнопка "Другие", чтобы при нажатии в новом окне открывались другие валюты.
3. Ещё можно сделать, чтобы около имя валюты, можно было ставить флаг страны (не слишком надо)

зы. У меня получается, что при создании такого модуля, выводятся все валюты в одном блоке, место 2ух положенных, этим самым выходит более длительная генерация страницы :( да и место очень много занимает.
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #3 : 03.01.2006, 00:49:48 »
зы. У меня получается, что при создании такого модуля, выводятся все валюты в одном блоке, место 2ух положенных, этим самым выходит более длительная генерация страницы :( да и место очень много занимает.
задержка идет у тебя не от количества валют, а от времени доступа к сайту ЦБР, чтобы ее уменьшить необходимо сделать кэширование данных... оки, я понял задачу, постараюсь в ближайшее время сделать модуль

Re:Курс валют
« Ответ #4 : 03.01.2006, 01:47:59 »
ещё бы туда дату приделать на момент получения котировок. ведь в выходные котировки ЦБР фактически не меняются, а дата просмотра сайта меняется.
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #5 : 03.01.2006, 02:40:13 »
ещё бы туда дату приделать на момент получения котировок. ведь в выходные котировки ЦБР фактически не меняются, а дата просмотра сайта меняется.
логично, учтем :)
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #6 : 03.01.2006, 05:55:38 »
так, первая версия модуля mod_cbr готова.

Возможности модуля:

* Краткий и расширенный список валют
* Поддержка кэширования данных
* Настройка разделителя дробной и целой части
* Настройка отображения даты последнего обновления
* Настройка сообщения об ошибке, при недоступности сайта CBR.RU

жду комментариев, отзывов, и баг-репортов...
если ошибок не будет найдено в ближайшие дни выложу для публичной загрузки

[вложение удалено Администратором]
« Последнее редактирование: 03.01.2006, 06:00:56 от smart »

Re:Курс валют
« Ответ #7 : 05.01.2006, 05:28:56 »
Не забудьте только поставить туда возможность включать/отключать показ даты :)
Авось кому-то пригодится....

p.s. Было бы очень здорово, если появятся модули не только курса валют, но и разных финансовых операций, биржевых сводок и т.п. Многим было бы приятно, а порой необходимо иметь нечто подобное у себя на сайте.
« Последнее редактирование: 05.01.2006, 05:32:38 от sobr »

Re:Курс валют
« Ответ #8 : 05.01.2006, 07:46:59 »
Добрый день!
Локально поставил (с подключенным интернетом). Может данные не доступны, может у меня в конфигурации php что-то не так. Выдало следующее:

Warning: fopen(): php_network_getaddresses: gethostbyname failed in D:\server\sites\joomla\www\modules\mod_cbr.php on line 101

Warning: fopen(http://www.cbr.ru/scripts/XML_daily.asp?date_req=05/01/2006): failed to open stream: No such file or directory in D:\server\sites\joomla\www\modules\mod_cbr.php on line 101

Warning: fclose(): supplied argument is not a valid stream resource in D:\server\sites\joomla\www\modules\mod_cbr.php on line 105

Данные временно недоступны
*

MarksMan

  • Осваиваюсь на форуме
  • 35
  • 8 / 5
Re:Курс валют
« Ответ #9 : 05.01.2006, 11:05:11 »
На локале не будет работать, если сервер не настроешь:)
А так всё показывает отличнох
2Sobr
Там есть эта функция (показ даты)
А вот другие модули впринципе можно сделать самому по примеру этого.
Если хоть чуть чуть знать пхп.
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #10 : 05.01.2006, 12:48:03 »
p.s. Было бы очень здорово, если появятся модули не только курса валют, но и разных финансовых операций, биржевых сводок и т.п. Многим было бы приятно, а порой необходимо иметь нечто подобное у себя на сайте.
расскажи где можно такую информацию получить, и я сделаю такой модуль :)

А так всё показывает отличнох
есть какие-то пожелания ? что-то может стоит добавить ?
*

MarksMan

  • Осваиваюсь на форуме
  • 35
  • 8 / 5
Re:Курс валют
« Ответ #11 : 05.01.2006, 14:24:37 »
Цитировать
есть какие-то пожелания ? что-то может стоит добавить ?
Можно ещё сделать, чтобы когда наводишь на 3ех значное обозначение валюты, всплывающей подсказкой выдавалось полное имя валюты.

Re:Курс валют
« Ответ #12 : 05.01.2006, 14:33:30 »
Добрый день!
Сейчас посмотрел -- курс показывает. Я к тому, что хватило бы и одной строчки:
Данные временно недоступны
Хотя, может быть, это пока данных не было, столько всего лишнего повылазило.
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #13 : 05.01.2006, 14:40:02 »
Можно ещё сделать, чтобы когда наводишь на 3ех значное обозначение валюты, всплывающей подсказкой выдавалось полное имя валюты.
так там щас и так это выводится ? или ты имеешь ввиду и на числовом коде валюты сделать подсказку ?

кстати, вот еще вопрос, там курсы указаны для различных номиналов. может быть стоит выводить для какого номинала курс ?

и еще, нужна ли возможность отображать курсы не относительно рубля, а допустим относительно другой валюты (украинской гривни или там белорусской валюты) ?

Сейчас посмотрел -- курс показывает. Я к тому, что хватило бы и одной строчки:
Данные временно недоступны Хотя, может быть, это пока данных не было, столько всего лишнего повылазило.
уточни пожалуйста, что там у тебя повылазило ? по идее, если данных нет, т.е. сервер недоступен должна отображаться только одна строка. текст сообщения - задается в параметрах модуля, если отображется что-то еще - это баг, и надо исправить
« Последнее редактирование: 05.01.2006, 14:41:36 от smart »
*

MarksMan

  • Осваиваюсь на форуме
  • 35
  • 8 / 5
Re:Курс валют
« Ответ #14 : 05.01.2006, 15:07:38 »
Цитировать
Так там щас и так это выводится ? или ты имеешь ввиду и на числовом коде валюты сделать подсказку ?
Извиняй, не заметил сразу :)
Цитировать
кстати, вот еще вопрос, там курсы указаны для различных номиналов. может быть стоит выводить для какого номинала курс ?
Тоже бы не помешало.
Цитировать
и еще, нужна ли возможность отображать курсы не относительно рубля, а допустим относительно другой валюты (украинской гривни или там белорусской валюты) ?
Функция хорошая, но тогда нужно будет делать так, чтобы пользователь сам смог выбрать относительно какой валюты будет отображение.
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #15 : 05.01.2006, 15:13:06 »
Тоже бы не помешало.
тогда вопрос, как это должно выглядеть ?

вот так:

  1 USD = 28.7825 руб.
  1 EUR = 34.1850 руб.
10 UAH = 56.7232 руб.

Функция хорошая, но тогда нужно будет делать так, чтобы пользователь сам смог выбрать относительно какой валюты будет отображение.
хм, тогда по идее в модуль нужно прикрутить AJAX, чтобы можно было без перегрузки страницы смотреть курсы... оки, сделаю
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #16 : 05.01.2006, 16:48:04 »
так, выпущена новая версия модуля

Изменения в mod_cbr 1.1:

+ Настройка вывода номинала исходной валюты
+ Настройка отображения названия валюты в всплывающей подсказке
+ В расширенный список валют по умолчанию все имеющиеся на сайте ЦБ РФ валюты
- Отключен вывод различных сообщений об ошибках PHP

[вложение удалено Администратором]

Re:Курс валют
« Ответ #17 : 06.01.2006, 00:40:36 »
Добрый день!
уточни пожалуйста, что там у тебя повылазило ? по идее, если данных нет, т.е. сервер недоступен должна отображаться только одна строка. текст сообщения - задается в параметрах модуля, если отображется что-то еще - это баг, и надо исправить
В ответе 8 всё записано. На сколько понимаю, теперь красных строк не будет:
- Отключен вывод различных сообщений об ошибках PHP
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #18 : 06.01.2006, 00:57:18 »
Добрый день!В ответе 8 всё записано. На сколько понимаю, теперь красных строк не будет:
угу, я протормозил немного :) а насчет красных строк - да, теперь их не должно быть

потестируйте компонент, и если не будет ошибок, я выложу его для публичной загрузки

Re:Курс валют
« Ответ #19 : 06.01.2006, 01:58:23 »
Ошибок не заметил. Если не сложно, можно было бы еще выравнивание сделать.
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #20 : 06.01.2006, 02:05:27 »
Ошибок не заметил. Если не сложно, можно было бы еще выравнивание сделать.
проблем никаких не вижу, расскажи какие настройки добавить - сделаю

Re:Курс валют
« Ответ #21 : 06.01.2006, 02:30:35 »
Может это не столь важно, у меня выглядит примерно так:

 1    USD   28.7825
 1    EUR   34.1850
  1    AUD   21.1292
  1    GBP   49.7218
1000   BYR   13.3634
 10    DKK   45.8094
100    ISK   45.4987
...

лучше б было, например, так:

   1    USD   28.7825
   1    EUR   34.1850
   1    AUD   21.1292
   1    GBP   49.7218
1000    BYR   13.3634
  10    DKK   45.8094
 100    ISK   45.4987
...

На самом деле, на вкус и цвет -- товарищей нет :)
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #22 : 06.01.2006, 02:39:48 »
Может это не столь важно, у меня выглядит примерно так:
на самом деле в первой колонке выравнивание было вставлено по центру... ладно, я понял, щас добавлю настройки для всех трех колонок...

в принципе есть 2 решения:
1. добавить 3 параметра, указывающие выравнивания в колонках
2. добавить 1 параметр - CSS, и в нем задавать уже стили для этих колонок

какой из них лучше ?

Re:Курс валют
« Ответ #23 : 06.01.2006, 02:54:41 »
на самом деле в первой колонке выравнивание было вставлено по центру...
Да, так и отображено. Это я записал пропорциональным шрифтом, поэтому центрирования не получилось.
Но первые две строчки действительно смещены влево относительно всех остальных.

в принципе есть 2 решения:
1. добавить 3 параметра, указывающие выравнивания в колонках
2. добавить 1 параметр - CSS, и в нем задавать уже стили для этих колонок

какой из них лучше ?
Хватит одного параметра для первой колонки.
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #24 : 06.01.2006, 03:04:27 »
Но первые две строчки действительно смещены влево относительно всех остальных.
Хватит одного параметра для первой колонки.
а если завтра кто-то захочет раскрасить ?

Re:Курс валют
« Ответ #25 : 06.01.2006, 03:13:36 »
а если завтра кто-то захочет раскрасить ?
Так можно делать до бесконечности :)
Хотя, конечно, не плохо предупредить будующие пожелания.
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #26 : 06.01.2006, 03:55:35 »
Так можно делать до бесконечности :)
Хотя, конечно, не плохо предупредить будующие пожелания.
я считаю что если уж и делать что-то, так делать нужно качественно, и чтобы потом не приходилось по несколько раз переделывать :)

Re:Курс валют
« Ответ #27 : 14.01.2006, 14:17:57 »
Не хватает очень важного параметра, показа на сколько повысилась/понизилась валюта. Это можно сделать, как стрелки вверх/вниз или +/- и чтоб были разного цвета (напр. зеленый/красный).
Извиняюсь, если это уже есть в модуле, т.к. на локалке у меня не заработал, но в описании такого не нашел.
*

smart

  • Администратор
  • 6847
  • 1312 / 15
Re:Курс валют
« Ответ #28 : 15.01.2006, 00:45:16 »
Не хватает очень важного параметра, показа на сколько повысилась/понизилась валюта.
за какой период? на сайте ЦБ РФ можно в принципе получить информацию о динамике курса, но нужно указывать период... при этом, довольно часто этот сервис при запросе динамики курса за последние пару дней, говорит что курс не менялся... так это или нет, я не знаю... можно конечно эту информацию попробовать взять с сайта РБК...

Re:Курс валют
« Ответ #29 : 15.01.2006, 23:24:14 »
Курсы валют на сайте ЦБ РФ обновляются раз в день, кроме выходных.

Еще параметр не помешал бы установки количества знаков после запятой (2 знака или 4 знака). Не всем нужна такая точность.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль JL Currency (курс валют)

Автор R31rus

Ответов: 0
Просмотров: 427
Последний ответ 11.11.2015, 18:31:17
от R31rus
Модуль курса валют для Joomla от JoomLine

Автор zikkuratvk

Ответов: 11
Просмотров: 5386
Последний ответ 11.11.2015, 07:13:43
от R31rus
Курсы валют Приват24

Автор Никонор

Ответов: 0
Просмотров: 474
Последний ответ 22.09.2015, 17:14:41
от Никонор
Модуль курса валют через прокси

Автор palexa

Ответов: 2
Просмотров: 1292
Последний ответ 20.01.2011, 23:09:55
от palexa
Курс валют банка

Автор ekraner

Ответов: 1
Просмотров: 1914
Последний ответ 04.08.2009, 13:55:22
от romanvip1