Ведь когда я задаю базовую валюту у себя, например блр - то он считает по росийским курсам, и выходит 0,70 или еще сколько. а мне нужно например базовую доллар и считать по нашим курсам.. Как это переписать?Получение официального курса белорусского рубля по отношению к иностранным валютам на определенную дату,
устанавливаемого ежедневно:
http://nbrb.by/Servi...date=01/31/2011
как настроить свой конвертер в файле jbcurrency.xml
Автор
requit
, Jan 29 2013 08:23
Сообщений в теме: 10
#1
Отправлено 29 January 2013 - 08:23
В файле jbcurrency.xml прописана строка, откуда берет курс валют. Поскольку я в Беларуси, у нашего нацбанка свои курсы. я решил поискать аналог - и таки он вроде есть http://nbrb.by/stati...ratesDaily.asp справа В формате ХМЛ
#2
Отправлено 29 January 2013 - 11:55
1). Заменить service_url в jbcurrency.xml на ваш.
2). Переписать функцию _loadFromService() в media\zoo\applications\jbuniversal\framework\helpers\jbmoney.php
2). Переписать функцию _loadFromService() в media\zoo\applications\jbuniversal\framework\helpers\jbmoney.php
[color=#aa0000]Не забывайте нажимать кнопку «Вопрос Решён» и «+1» под сообщением, которое Вам помогло[/color]
#3
Отправлено 29 January 2013 - 22:14
пункт 1 понятен и так был.
а вот со вторым. как переписать? по сути ХМЛ файлы почти одинаковые. у вас в россии в ЦБ
<Valute ID="R01010"><NumCode>036</NumCode><CharCode>AUD</CharCode><Nominal>1</Nominal><Name>Австралийский доллар</Name><Value>31,5141</Value></Valute>
у нас <Currency Id="170"><NumCode>036</NumCode><CharCode>AUD</CharCode><Scale>1</Scale><Name>Австралийский доллар</Name><Rate>9043.14</Rate></Currency>
отличаются наверное глобально только Nominal это у нас Scale. В файле jbmoney.php пробовал заменить одно на другое в стр 108 $nominal = (string)$row->Scale; но естесно не помогло. на сайте валюты не переключаются м-ду собой.
Как проверить работает ли вообще это все - для начала - берет ли курсы с моего файла и какие там ошибки, если они возникают
А еще - то как поменять на фронтенде где цена RUB USD EUR - мне нужно вместо рос руб свои блр поставить, но базовым оставить доллар.
а вот со вторым. как переписать? по сути ХМЛ файлы почти одинаковые. у вас в россии в ЦБ
<Valute ID="R01010"><NumCode>036</NumCode><CharCode>AUD</CharCode><Nominal>1</Nominal><Name>Австралийский доллар</Name><Value>31,5141</Value></Valute>
у нас <Currency Id="170"><NumCode>036</NumCode><CharCode>AUD</CharCode><Scale>1</Scale><Name>Австралийский доллар</Name><Rate>9043.14</Rate></Currency>
отличаются наверное глобально только Nominal это у нас Scale. В файле jbmoney.php пробовал заменить одно на другое в стр 108 $nominal = (string)$row->Scale; но естесно не помогло. на сайте валюты не переключаются м-ду собой.
Как проверить работает ли вообще это все - для начала - берет ли курсы с моего файла и какие там ошибки, если они возникают
А еще - то как поменять на фронтенде где цена RUB USD EUR - мне нужно вместо рос руб свои блр поставить, но базовым оставить доллар.
#4
Отправлено 30 January 2013 - 06:49
Нужно $row->Nominal поменять на $row->Scale и $row->Value на $row->Rate
Помните, что изменения в этом файле затрутся после обновления.
Валюты настраиваются в элементе JBPrice:
http://SSMaker.ru/ab511c9d/
http://SSMaker.ru/83294eaa/
Помните, что изменения в этом файле затрутся после обновления.
Валюты настраиваются в элементе JBPrice:
http://SSMaker.ru/ab511c9d/
http://SSMaker.ru/83294eaa/
[color=#aa0000]Не забывайте нажимать кнопку «Вопрос Решён» и «+1» под сообщением, которое Вам помогло[/color]
#5
Отправлено 30 January 2013 - 07:47
наверное все равно что-то не то, т.к. в настроеных 2х валютах не переключается м-ду собой.
может надо еще jbcurrency.xml как то править? может иксмл файл вообще не читается? как проверить?
может надо еще jbcurrency.xml как то править? может иксмл файл вообще не читается? как проверить?
#6
Отправлено 30 January 2013 - 08:24
в <load_from_service>0</load_from_service> поставьте 1
[color=#aa0000]Не забывайте нажимать кнопку «Вопрос Решён» и «+1» под сообщением, которое Вам помогло[/color]
#7
Отправлено 30 January 2013 - 08:57
скачал і распаковал на XAMPP копию демо сайта. в ней провел эксперимент с этими 2мя файлами.
в jbcurrency.xml
в jbmoney.php поменял значения и вывел для проверки эхо
Далее беру какую нибудь квартирку и назначаю ей цену по нашему курсу в 1 доллар - 8650 или пробовал в 1 евро - 11670. По идее - кроме бел руб - должно сконвертировать в 1 долл или 1 евро, смотря какую цену поставить в бел руб
Что вышло - echo $value выдало мне над ценой строку цифр, как оказалось после проверки с файлом - это курсы как они идут в xml файле с банка. Все по порядочку - т.е. файл берется, всё считывается. НО ПРИ ЦЕНЕ В 8650 при переключении в доллары - не $1 а $0.00 !!!!
Может у меня format="5" не тот -или что?
в jbcurrency.xml
<config> <load_from_service>1</load_from_service> <service_url>http://nbrb.by/Services/XmlExRates.aspx</service_url> </config> и заменил формат <byr value="36,9631" nominal="10000" prefix="" postfix=" руб." format="5">Белорусских рублей</byr>
в jbmoney.php поменял значения и вывел для проверки эхо
foreach ($xml as $row) {
$value = $this->clearValue('' .$row->Rate);
$nominal = (string)$row->Scale;
$code = (string)$row->CharCode;
echo $value;
в настройках типа квартира задал базовую валюту - белорусские рубли. в тизере в цене вместо рос руб задал бел руб и окромя - еще евро и доллар. Далее беру какую нибудь квартирку и назначаю ей цену по нашему курсу в 1 доллар - 8650 или пробовал в 1 евро - 11670. По идее - кроме бел руб - должно сконвертировать в 1 долл или 1 евро, смотря какую цену поставить в бел руб
Что вышло - echo $value выдало мне над ценой строку цифр, как оказалось после проверки с файлом - это курсы как они идут в xml файле с банка. Все по порядочку - т.е. файл берется, всё считывается. НО ПРИ ЦЕНЕ В 8650 при переключении в доллары - не $1 а $0.00 !!!!
Может у меня format="5" не тот -или что?
#8
Отправлено 30 January 2013 - 09:21
UPD
Вышло при <byr value="36,9631" nominal="1" prefix="" postfix="бел. руб." format="5">Белорусских рублей</byr>
и когда базовую валюту поставил доллар. то при цене в 1 доллар показало правильную цену в белорусских.
Спаниковал что не считает так как положено а только наоборот, но переставил базовую валюту в белоруских, цену записал в 8650 - все верно - 1 доллар.
но это на локалке.
А на сервере почему то при тех же настройках и тех же файлах - переход между ценами пропал. Не грузится какойто скрипт?Где копать, чтобы отследить? причем это во всех приложениях стало.. уже и сам элемент прайс поменял с локалки, и файлы эти переписал. все равно не переключается
Вышло при <byr value="36,9631" nominal="1" prefix="" postfix="бел. руб." format="5">Белорусских рублей</byr>
и когда базовую валюту поставил доллар. то при цене в 1 доллар показало правильную цену в белорусских.
Спаниковал что не считает так как положено а только наоборот, но переставил базовую валюту в белоруских, цену записал в 8650 - все верно - 1 доллар.
но это на локалке.
А на сервере почему то при тех же настройках и тех же файлах - переход между ценами пропал. Не грузится какойто скрипт?Где копать, чтобы отследить? причем это во всех приложениях стало.. уже и сам элемент прайс поменял с локалки, и файлы эти переписал. все равно не переключается
#9
Отправлено 30 January 2013 - 09:42
Переход между ценами яваскриптом, наверное конфликт где-то. Дайте ссылку на сайт.
[color=#aa0000]Не забывайте нажимать кнопку «Вопрос Решён» и «+1» под сообщением, которое Вам помогло[/color]
#10
Отправлено 31 January 2013 - 12:44
все настроил, и по ходу, работает. надо бы как то вынести в отдельную статью уже все готовое...
но трабл в том, что порой выдает это Warning: simplexml_load_file(http://nbrb.by/Servi...XmlExRates.aspx ) [function.simplexml-load-file]: failed to open stream: Connection timed out in /home/XXXXXXX/public_html/15/jupgrade/media/zoo/applications/jbuniversal/framework/helpers/jbmoney.php on line 104
Тоисть с сайта нацбанка иксмл не хочет грузиться. Как обойти проблему? моет если не грузится, то брать из кэша или еще что?
но трабл в том, что порой выдает это Warning: simplexml_load_file(http://nbrb.by/Servi...XmlExRates.aspx ) [function.simplexml-load-file]: failed to open stream: Connection timed out in /home/XXXXXXX/public_html/15/jupgrade/media/zoo/applications/jbuniversal/framework/helpers/jbmoney.php on line 104
Тоисть с сайта нацбанка иксмл не хочет грузиться. Как обойти проблему? моет если не грузится, то брать из кэша или еще что?


Тема закрыта








