Помощь Курс валют

Тема в разделе "DLE", создана пользователем shonikai, 19 июл 2010.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. shonikai

    shonikai Постоялец

    Регистр.:
    6 июн 2008
    Сообщения:
    92
    Симпатии:
    5
    Реализовал весьма просто вывод курс нужных валют на сайт, подправив таким образом, чтобы конечный курс был "курс цб+ нужный процент".

    Вывожу в main.tpl - хочу чтобы в стандартном названии блока "Курс валют на..." самостоятельно ежедневно менялось число.

    Пробовал поиграться с $date, но что-то не получается.

    Подскажите люди добрые - что сделать надо?
     
  2. kilobyte

    kilobyte Создатель

    Регистр.:
    29 авг 2007
    Сообщения:
    13
    Симпатии:
    0
    сложного то чего? в index.php прописываешь {date} как date("m.d.y"); делов то)
     
  3. paul_rem

    paul_rem

    Регистр.:
    29 июл 2009
    Сообщения:
    351
    Симпатии:
    18
    а по подробнее можно? может кто-то нашел уже решение этой проблемы? направте в нужное место на форуме, пока решения не нашел проблемы с выводом валюты в DLE
     
  4. penguen

    penguen

    Регистр.:
    7 янв 2007
    Сообщения:
    821
    Симпатии:
    93
    Вот вы мочите. делаете стандр. модуль, кешируете его, чтоб нагрузку на сайт не делал. Раз в 14ч. очищаете кэш. Если есть проблемы с этим напишу за спасибо.
    Если что, стучитесь в аську. здесь редкий гость
     
  5. shonikai

    shonikai Постоялец

    Регистр.:
    6 июн 2008
    Сообщения:
    92
    Симпатии:
    5
    я уже реализовал. разве что-то накосячил с датой - она и не выводится. и не могу напарсить соотношение нужных валют )
     
  6. veronika

    veronika Постоялец

    Регистр.:
    13 июн 2006
    Сообщения:
    88
    Симпатии:
    13
    а что не взять этот

    <?php
    // Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru СКРИПТ СКАЧАН С VEXEL.SU
    $content_today = get_content_today();
    $content_yesterday = get_content_yesterday();
    // Разбираем содержимое xml-файла, при помощи регулярных выражений
    $pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
    // Для курсов валют на текущий день
    preg_match_all($pattern, $content_today, $out_today, PREG_SET_ORDER);
    // Для курсов валют на предыдущий день
    preg_match_all($pattern, $content_yesterday, $out_yesterday, PREG_SET_ORDER);
    //Задаем нулевые стартовые значения для того, чтобы избежать ошибок в дальнейшем
    $dollar_today = "";
    $dollar_yesterday = "";
    $euro_today = "";
    $euro_yesterday = "";
    foreach($out_today as $cur)
    {
    if($cur[2] == 840) $dollar_today = str_replace(",",".",$cur[4]);
    if($cur[2] == 978) $euro_today = str_replace(",",".",$cur[4]);
    if($cur[2] == 392) $ien_today = str_replace(",",".",$cur[4]);
    }
    foreach($out_yesterday as $cur)
    {
    if($cur[2] == 840) $dollar_yesterday = str_replace(",",".",$cur[4]);
    if($cur[2] == 978) $euro_yesterday = str_replace(",",".",$cur[4]);
    if($cur[2] == 392) $ien_yesterday = str_replace(",",".",$cur[4]);
    }
    $position_usd = $dollar_today-$dollar_yesterday;
    $position_euro = $euro_today-$euro_yesterday;
    $position_ien = $ien_today-$ien_yesterday;
    ?>
    <table width="100%"><tr><td style="padding-bottom:0px;"><font color="#FFFFFF">1 Евро (EUR) -
    </span> </font> </td>
    <td style="padding-bottom:0px;" width="50%"><font color="#FFFFFF"><?php echo $euro_today; ?></font></td>
    <tr><td style="padding-bottom:0px;"><font color="#FFFFFF">1 Доллар США (USD) -
    </font> <span class="usd">
    </span><font color="#FFFFFF"><br/> </font> </td>
    <td style="padding-bottom:0px;"><font color="#FFFFFF"><?php echo $dollar_today; ?></font></td>
    </tr>
    <tr><td style="padding-bottom:9px;"><font color="#FFFFFF">100 Японских иен (JPY) -
    </font> <span class="usd"></td>
    <td style="padding-bottom:9px;"><font color="#FFFFFF"><?php echo $ien_today; ?></font></td>
    </tr></table>
    <?php
    function get_content_today()
    {
    // Формируем сегодняшнюю дату
    $date_today = date("d/m/Y");
    // Формируем ссылку
    $link_today = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date_today";
    // Загружаем HTML-страницу
    $fd_today = fopen($link_today, "r");
    $text_today="";
    if (!$fd_today) echo "Запрашиваемая страница не найдена";
    else
    {
    // Чтение содержимого файла в переменную $text
    while (!feof ($fd_today)) $text_today .= fgets($fd_today, 4096);
    }
    // Закрыть открытый файловый дескриптор
    fclose ($fd_today);
    return $text_today;
    }
    function get_content_yesterday()
    {
    // Формируем сегодняшнюю дату
    $date_yesterday = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d") - 1));
    // Формируем ссылку
    $link_yesterday = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date_yesterday";
    // Загружаем HTML-страницу
    $fd_yesterday = fopen($link_yesterday, "r");
    $text_yesterday="";
    if (!$fd_yesterday) echo "Запрашиваемая страница не найдена";
    else
    {
    // Чтение содержимого файла в переменную $text
    while (!feof ($fd_yesterday)) $text_yesterday .= fgets($fd_yesterday, 4096);
    }
    // Закрыть открытый файловый дескриптор
    fclose ($fd_yesterday);
    return $text_yesterday;
    }
    ?>

    а дату прописать через инулайд отдельный php скрипт?
     
  7. Demon425

    Demon425

    Регистр.:
    9 июл 2008
    Сообщения:
    439
    Симпатии:
    96
    index.php
    Код:
    $tpl->set ( '{curs-date}', date("d.m.Y") );
     
Статус темы:
Закрыта.