Гость Владимир Опубликовано 21 апреля, 2011 Жалоба Поделиться Опубликовано 21 апреля, 2011 Добрый день!Во первых хочу поблагодарить за столь простой и востребованный модуль!У меня есть одна небольшая задачка, которая думаю труда совершенно не составит.Нужно добавить курс валют центрального банка Латвии. Описание XML файла тут: http://www.bank.lv/en/monetary-policy/exchange-rates-set-by-the-bank-of-latvia-in-xml-formatВкратце описание XML:XML файл находится по адресу: http://www.bank.lv/vk/xml.xmlЧтобы получить курс валют за предыдущие даты, нужно ввести ссылку следующего формата: http://www.bank.lv/vk/xml.xml?date=YYYYMMDDВы можете это реализовать? Заодно и в компонент добавится ещё один банк. Цитата Ссылка на комментарий Поделиться на другие сайты More sharing options...
admin Опубликовано 21 апреля, 2011 Жалоба Поделиться Опубликовано 21 апреля, 2011 В папке models создать файл lv.class.php<?php/** * @author Darang * @date 21-Apr-2011 * @copyright (c)2011 JExt.biz */// no direct accessdefined ( '_JEXEC' ) or die ( 'Restricted access' );/** * Official exchange rates of the National bank of Latvia */class currency_data_lv extends currency_data { function __construct() { parent::__construct (); $this->url = "http://www.bank.lv/vk/xml.xml?date="; $this->bank_name = "ЦБЛ"; $this->bank_url = "http://www.bank.lv"; $this->currency_name = "лат"; $this->date_format = 'Ymd'; } function get_array($xml, $day = '', $replace_currency_array) { // Handle no data received error if (! isset ( $xml->document->Currencies )) { $error ['error'] = 1; return $error; } // Save currencies' rates in an associative array indexed by currency 3 char code $rates = array (); // array to store currencies exchange rates $rates ['date'] = $xml->document->Date[0]->data (); $data = $xml->document->Currencies[0]->Currency; foreach ( $data as $dt ) { $code = $dt->ID [0]->data (); // Store data for selected by user currencies only, if they are set if (empty ( $this->currencies ) || in_array ( $code, $this->currencies )) { $rates ['currency'] [$code] ['numcode'] = $dt->ID [0]->data (); // num code $rates ['currency'] [$code] ['scale'] = $dt->Units [0]->data (); // units // Set currency name (array with replacement rules will be searched for the ISO code) $rates ['currency'] [$code] ['name'] = parent::replace_currency_name ( $dt->ID [0]->data (), $code, $replace_currency_array ); $rates ['currency'] [$code] ['rate'] = $dt->Rate [0]->data (); // exchange rate } } // Save additional info (only one time) if ($day == 'today' || $this->before_flag == FALSE) { $rates ['info'] = array ("bank_name" => $this->bank_name, "bank_url" => $this->bank_url, "currency_name" => $this->currency_name ); } return $rates; } /** * Returns URL for receiving XML data file * * @param string Date * @return string URL */ public function getUrl($date = "") { if (strlen ( $date ) > 1) { $url = $this->url . $date; } else { $url = $this->url.date($this->date_format,time()); } return $url; }}в mod_jextcurrency.xml в секцию source_class добавить <option value="lv">PLG_JEXTCURRENCY_SOURCE_OPTION_BANKLATVII</option>PLG_JEXTCURRENCY_SOURCE_OPTION_BANKLATVII в языковом файле для модуля можете задавать любое значение Цитата Ссылка на комментарий Поделиться на другие сайты More sharing options...
Гость Владимир Опубликовано 22 апреля, 2011 Жалоба Поделиться Опубликовано 22 апреля, 2011 Огромное спасибо. Ваша поддержка впечатляет!!!Один вопрос - не показывается разница курса валюты с предыдущим днем. Так и должно быть? Цитата Ссылка на комментарий Поделиться на другие сайты More sharing options...
admin Опубликовано 22 апреля, 2011 Жалоба Поделиться Опубликовано 22 апреля, 2011 у меня показывалась, если возможно ссылку может что то упустил Цитата Ссылка на комментарий Поделиться на другие сайты More sharing options...
admin Опубликовано 22 апреля, 2011 Жалоба Поделиться Опубликовано 22 апреля, 2011 просто значение курсов не менялись, поэтому одинаковые значение. посмотрите до понедельника, вторника. на выходных курсы обычно не меняются, поэтому так и выходит Цитата Ссылка на комментарий Поделиться на другие сайты More sharing options...
sass Опубликовано 23 апреля, 2011 Жалоба Поделиться Опубликовано 23 апреля, 2011 Спасибо!Извиняюсь за беспокойство. Цитата Ссылка на комментарий Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.