|
|
15.09.2006, 01:47
|
|
law
Php-nuke
Зарегистрирован: 2005-11-02
Сообщений: 47
|
На сколько я понял из описания модуля магазина в нем есть возможность автоматического получения курсов валют ЦБ.
А нельзя ли получить кусочек кода реализующего эту возможность для использования не для целей электронной коммерции ?
Или может быть кто нибудь может посоветовать вариант парсинга http://www.cbr.ru/scripts/xml_daily.asp с возможностью последующего использования полученых значений на всем сайте?
|
|
|
15.09.2006, 19:02
|
|
Кирилл Хряпин
NetCat
Зарегистрирован: 2006-06-15
Сообщений: 207
|
Код:$src = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp");
if (!$src) die("no data");
if (!preg_match("#
<CharCode>USD</CharCode>s*
<Nominal>d+</Nominal>s*
<Name>.+?</Name>s*
<Value>([d,]+)</Value>
#xs", $src, $regs)
) {
die ("no rates");
}
$usd_rate = (double)str_replace(",", ".", $regs[1]); // , to .
|
|
|
18.09.2006, 23:47
|
|
law
Php-nuke
Зарегистрирован: 2005-11-02
Сообщений: 47
|
А куда бы это запихать чтобы раз в сутки забирался новый курс, проверялась его достоверность (например, если при получении нового курса произошол сбой связи и новый курс не был получен) и актуальные значения курсов валют были доступны во всех макетах и шаблонах?
|
|
|
20.09.2006, 18:18
|
|
Кирилл Хряпин
NetCat
Зарегистрирован: 2006-06-15
Сообщений: 207
|
"Запихать" можно куда Вам удобнее: либо сделайте отдельный макет, где в шаблонах вывода навигации организуйте получение курсов валют и сохранение результатов в базу данных; можете сделать отдельный скрипт (в этом случае необходимо самостоятельно создавать подключение к базе данных). Ссылку на страницу, получающую курсы, поместите в "Управление задачами" (на сервере должен быть настроен cron).
Сохранив данные в базе данных, Вы в любой момент сможете получить результаты. Если Вы хотите, чтобы курсы были доступны на любой странице, Вы можете добавить соответствующий код в файл netcat/modules/default/function.inc.php.
|