Вернуться к списку форумов Вернуться

Поддержка пользователей

Community support

Обновление для 5.57 / Получение курсов

18.09.2011 update5574.zip
Для 5.57 и возможно ниже Добавлен модуль обновления курсов основных валют с сайта РБК.

Чтобы его включить:
Установите обновление lang.inc можно не менять, а дописать кое что (см.ниже)

Настройка:

Шаблоны - Шаблоны оформления - set_currency_parser.inc

<?
$parseurl
="http://www.rbc.ru/wap/exchanges/cb.0/";  //url currency parser
$from="Курс на ";
$to="Главная";
$from_cur="RUR"//from currency
$to_cur="RUR"//to currency
$use_curr=Array(
'RUR',
'UAH',
'USD',
'EUR');
$ftosave="./admin/kurs.txt";
?>

в этом шаблоне укажите валюту в которой введены цены товара и какие валюты у вас используются в шаблоне языка.
например:
$to_cur="UAH";
$use_curr=Array(
'RUR',
'UAH',
'USD',
'EUR');


Дальше получаем курсы:
Обслуживание - Parse currencies

Если все ОК - ошибок не выдает, то включаем подгрузку курсов в шаблоне языка расскомментируем в самом низу (или добавляем, чтобы не обновлять сам шаблон языка):
меняем
//uncomment this strokes to use external currencies rate
//if (file_exists("./admin/kurs.txt")) { require ("./admin/kurs.txt"); }
//if (file_exists("../admin/kurs.txt")) { require ("../admin/kurs.txt"); }

на
//uncomment this strokes to use external currencies rate
if (file_exists("./admin/kurs.txt")) { require ("./admin/kurs.txt"); }
if (file_exists("../admin/kurs.txt")) { require ("../admin/kurs.txt"); }


Сохраняем.

Нюансы.

В главном шаблоне должны быть заранее настроены используемые валюты и установлены их округления, наименования и их символы.
Несколько валют настроено должно быть вот так в шаблоне языка:

//курсы валют
$currencies= Array(
'RUR'=>$kurs,
'UAH'=>4.7,
'USD'=>30.5,
'EUR'=>41.2,
);
//округление цен
$currencies_round= Array(
'RUR'=>$okr,
'UAH'=>0.5,
'USD'=>0.01,
'EUR'=>0.01,
);
//символы валют
$currencies_sign= Array(
'RUR'=>' грн.',
'UAH'=>' руб.',
'USD'=>' $',
'EUR'=>' Euro',
);
//названия валют в списке
$currencies_name= Array(
'RUR'=>'рубли',
'UAH'=>'гривни',
'USD'=>'US Dollars',
'EUR'=>'Euro',
);
//минимальная стоимость заказа при которой доставка будет бесплатной
$currencies_zakaz_menee= Array(
'RUR'=>3000,
'UAH'=>200,
'USD'=>100,
'EUR'=>80,
);
//цена за доставку если сумма заказа меньше чем минимальная стоимость заказа
$currencies_zakaz_dostav= Array(
'RUR'=>250,
'UAH'=>15,
'USD'=>5,
'EUR'=>4,
);
//налог на добавленную стоимость
$taxes= Array(
'RUR'=>0.18,
'UAH'=>0.18,
'USD'=>0.5,
'EUR'=>0.5,
);
//Налог с продаж
$othertaxes= Array(
'RUR'=>0.05,
'UAH'=>0.05,
'USD'=>0,
'EUR'=>0,
);


!!! Курсы валют - можно поставить примерные, все равно они будут получаться из парсера валют с сайта РБК.
Первый пункт понят но, второй тоже.
Третий пункт "В главном шаблоне должны быть заранее настроены используемые валюты и установлены их округления, наименования и их символы.", получается прописать тоже самое что и в шаблоне языка:
//курсы валют
$currencies= Array(
'RUR'=>$kurs,
'UAH'=>4.7,
'USD'=>30.5,
'EUR'=>41.2,
);
//округление цен
$currencies_round= Array(
'RUR'=>$okr,
'UAH'=>0.5,
'USD'=>0.01,
'EUR'=>0.01,
);
и т.д.
Думаю здесь что-то напортачил, главное вернул же все!
Я так понял вы мне что-то подрулили? или это новогодние чудеса! Все заработало только валюты не в ту сторону конвертируются.
Что бы все работало как надо пришлось доллары обозвать гривной и наоборот.
[quote]$currencies_sign= Array( //Very important! Please specify different signs. 'USD'=>" грн.", 'UAH'=>' $', ); //currensies names in option list $currencies_name= Array( 'USD'=>'Гривны', 'UAH'=>'Доллары', );[/quote]
Что бы все работало как надо пришлось доллары обозвать гривной и наоборот.

$currencies_sign= Array(
//Very important! Please specify different signs.
'USD'=>" грн.",
'UAH'=>' $',

);
//currensies names in option list
$currencies_name= Array(
'USD'=>'Гривны',
'UAH'=>'Доллары'
,
);
Так а как заставить при загрузке магазина по умолчанию стоять "Гривну" ?
В чем у вас цены в БД?
В шаблоне языка что стоит тут:
$valut="USD"; //Default currency

Какую валюту при этом вы хотите по умолчанию при заходе в магазин?

Если у вас цены в БД - в USD , а вы хотите Гривну по умолчанию, то парсер валют использовать нельзя.
При заходе в магазин устанавливается валюта указанная в
$valut="USD"; //Default currency


и только в этом случае можно использовать парсер валют.
В следующих версиях я введу возможность переключить валюту при первом заходе. и тогда Вам можно будет в полной мере использовать парсер валют при заводе в БД одной валюты, а начальном выводе в другой.
а хотя погодите, это сделать легко. я введу параметр $init_currency="UAH";
сейчас будет...
Все правильно, по умолчанию USD, а клиент входя на сайт должен видеть Гривну.
тогда вот так:
в шаблоне языка замените ваши строчки на эти:
$valut="USD"; //what currency you specified in the item database
$init_currency="UAH"; //specify what currency to use when you first enter the site
if (!$_SESSION['user_currency']) {$_SESSION['user_currency']=$init_currency;}
$okr=0.01; //def round
$kurs=1; //default currency exchange rate
$optkurs=1; //Оптовый курс: Оптовый курс валюты - это тот курс по которому Вы получаете товар - десятки разделяются точкой, например 29.44
$optround=0.01; //wholesaler round
//other currencies and its rate
$currencies= Array(
'UAH'=>8,
'USD'=>$kurs,
'RUR'=>32,
);

$currencies_round= Array(
'UAH'=>0.1,
'USD'=>$okr,
'RUR'=>10,
);
$currencies_sign= Array(
//Very important! Please specify different signs.
'UAH'=>" грн.",
'USD'=>" $",
'RUR'=>" руб.",
);
//currensies names in option list
$currencies_name= Array(
'UAH'=>"UAH",
'USD'=>"USD",
'RUR'=>"RUR",
);
//default minimal free delivery order sum
$currencies_zakaz_menee= Array(
'UAH'=>800,
'USD'=>100,
'RUR'=>3200,
);
//price of delivery if order less then minimal order sum
$currencies_zakaz_dostav= Array(
'UAH'=>10,
'USD'=>2.5,
'RUR'=>200,
);
//taxes NDS
$taxes= Array(
'UAH'=>0.18,
'USD'=>0.18,
'RUR'=>0.18,
);
//taxes NSP
$othertaxes= Array(
'UAH'=>0.05,
'USD'=>0.05,
'RUR'=>0.05,
);

Тут появился параметр $init_currency - переключает валюту автоматом при первом заходе. эти строчки надо вставить вместо их аналогов в lang.inc от строки
$valut="USD";
и до
//column in database with price for users with status


в шаблонах оформления - set_currency_parser.inc
поставьте это:

<?php
$parseurl
="http://www.rbc.ru/wap/exchanges/cb.0/";  //url currency parser
$from="Курс на ";
$to="Главная";
$from_cur="RUR"//from currency
$to_cur="USD"//to currency
$use_curr=Array(
'UAH',
'USD',
'RUR',
);
$revert=1//if you wish to reverse fractions ex. 1/currency
$ftosave="./admin/kurs.txt";
?>

Тут появился новый параметр revert - позволяющий переворачивать дробь.
from и to_curr оставьте как в примере, from - Всегда RUR , to_curr - Валюта БД в вашем случае USD

скачайте и киньте в /admin модернизированный парсер
[a href='http://www.eurowebcart.ru/ru/currency_parser.zip']http://www.eurowebcart.ru/ru/currency_parser.zip[/a]

всё!

При желании можно добавить Евро

После парсинга у вас установятся следующие курсы:
Saving ../admin/kurs.txt ...
'UAH'=>8.03793907,
'RUR'=>32.19575016,

А курс USD так и останется 1.

при при показе товара в гривнах - цена товара умножится на данные цифры.
правильные курсы?
Все работает, только по умолчанию продолжает грузится USD, может по тому что пришлось менять названия как описывал ранее

$currencies_sign= Array(
//Very important! Please specify different signs.
'USD'=>" грн.",
'UAH'=>' $',
);
//currensies names in option list
$currencies_name= Array(
'USD'=>'Гривны',
'UAH'=>'Доллары',
);
Если интересно можете зайти посмотреть, у Вас есть все права, только пароль желательно сменить!
Дайте доступ к ФТП, я там в шаблоне lang.inc синтаксическую ошибку сделал.
У вас доступ в админ панель, логин и пароль стандартный, пароль желательно сменить.
я не могу поправить ошибку без доступа к ФТП
тогда я Вам на почту кину, просто к ФТП может подключится только один пользователь
Готово, правда пришлось много модулей переделывать. сессии стартовали после lang.inc, поэтому пришлось менять сборочный index.php и заново лицензировать
Но теперь как надо
есть валюта при заходе UAH
настроены параметры парсинга валют с РБК
и да! Не путайте плиз UAH с USD
Ща еще базу подправлю

Добавить ответ:

                  
Ответьте на вопрос: CKoлbKo бyдeT K oдHoMy пpuбaBuTb дBa?