eburgnights
Гуру форума
- Регистрация
- 10 Мар 2007
- Сообщения
- 212
- Реакции
- 74
- Автор темы
- #1
Поделюсь для юзеров EVO скриптом курса валют, данные он дергает с
Для начала создаем сниппет [[kurs]] со следующим содержанием:
И в шаблоне в нужном месте вызываем его.
После перехода на REVO скрипт валют все еще нужен, но как я понял - вызов $content = get_content(); совсем не нравится новому MODX, обращаюсь к вам за помощью. Может будут идеи?
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Для начала создаем сниппет [[kurs]] со следующим содержанием:
PHP:
<?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 "<div class='stat_second'>";
echo "<b>$</b> ";
echo $dollar." руб<br />";
echo "<b>€</b> ";
echo $euro." руб<br />";
echo "</div>";
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;
}
?>
И в шаблоне в нужном месте вызываем его.
После перехода на REVO скрипт валют все еще нужен, но как я понял - вызов $content = get_content(); совсем не нравится новому MODX, обращаюсь к вам за помощью. Может будут идеи?