Форум

Открыть Ответить

модуль SHOP - конвертация RUR->EUR (Евро)

21.08.2012 08:52:15 21.08.2012 20:10:54

Здравствуйте!

Прошу разобраться с настройками системы в модуле SHOP/

Сейчас в интернет-магазине все цены указаны в рублях,
есть необходимость перевести все товарные предложения
в валюту EUR, но как это сделать аппаратным способом
не понимаю.

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

Возможно это из области фантастики и все придется переписывать "ручками". Спасибо!

Возможно то, о чем говорю - уже реализовано в slaed.....

SLAED CMS 4.* Pro
PHP 5
Сервер в интернете
gizzo
  • Группа: Клиент
  • Пункты: 10975
  • Регистрация: 15.10.2009
  • Пол: Мужчина
  • Из: Москва
gizzo
4.10

4.10

К сожалению пока только в ручную. Как вариант, в отделе магазина Экспорт/Импорт можно загрузить базу данных продуктов в формате CSV на свой компьютер, отредактировать цены и импортировать.

В любом случае мы постараемся учесть Ваше пожелание и реализовать в следующей версии.

Просьба добавить данное пожелание в отделе помощи, в категорию Пожелания.


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
SLAED CMS
  • Группа: Клиент
  • Пункты: 39041
  • Регистрация: 30.04.2005
  • Пол: Мужчина
  • Из: Germany
SLAED CMS
3.24

3.24

Напишу на днях

ra55551
  • Группа: Клиент
  • Пункты: 2121
  • Регистрация: 02.11.2008
  • Пол: Мужчина
  • Из: Пермь
ra55551
3.74

3.74

Сейчас в интернет-магазине все цены указаны в рублях,
есть необходимость перевести все товарные предложения
в валюту EUR, но как это сделать аппаратным способом
не понимаю.



как вариант выполнить sql-запрос из админ панели


UPDATE {pref}_products SET preis=preis/новый курс WHERE active!='0';


В конфигурациях модуля поставить рубли




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




Вот можно типа так сделать (делал в качестве примера)

Конвертация валют в модуле shop

ra55551
  • Группа: Клиент
  • Пункты: 2121
  • Регистрация: 02.11.2008
  • Пол: Мужчина
  • Из: Пермь
ra55551
3.74

3.74

как вариант выполнить sql-запрос из админ панели

UPDATE {pref}_products SET preis=preis/новый курс WHERE active!='0';


В конфигурациях модуля поставить рубли



Да, спасибо!
Очень помогло - работает на ура!!!
Единственный вопрос, который обнаружил в процессе конвертации...
Как сделать или дописать в командную строку, чтобы суммы делил с округлением хотя бы одной цифры, после запятой, например 14,2.... 15,8 ..., а то сейчас все цены получились окргл. до целого числа, а это большой разбег цены, если перевести в рубли.
Спасибо!

SLAED CMS 4.* Pro
PHP 5
Сервер в интернете
gizzo
  • Группа: Клиент
  • Пункты: 10975
  • Регистрация: 15.10.2009
  • Пол: Мужчина
  • Из: Москва
gizzo
4.10

4.10

Самое красивое и оптимальное.

Автоматически по курсу ЦБР показывать цену в любой валюте.
Делал так нескольким людям

варианты, можно жестко к курсу привязать? можно округлить как в большую сторону так и в меньшую

если что пиши в л.с

Sergey
  • Группа: Клиент
  • Пункты: 1246
  • Регистрация: 21.09.2005
  • Пол: Мужчина
Sergey
3.57

3.57

Я сделал следующим образом - добавил функцию в файле function.php:

# Get_content

function get_content() {
$datedollar = date("d/m/Y",time()+36000);
$linkdollar = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$datedollar";
$fd = fopen($linkdollar, "r");
$text="";if (!$fd)$content .= "Проблемка";
else {while (!feof ($fd)) $text .= fgets($fd, 4096);}fclose ($fd);return $text;
}


где +36000 - смещение пересчёта курса по времени, у меня смена курса на следующий день происходит в 3 часа предыдущего дня.

и в модуле shop везде где нужен пересчёт добавил:

$acontent .= get_content();
$pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
preg_match_all($pattern, $acontent, $out, PREG_SET_ORDER);$dollar = "";$euro = "";
foreach($out as $cur){if($cur[2] == 840) $dollar = str_replace(",",".",$cur[4]);if($cur[2] == 978) $euro = str_replace(",",".",$cur[4]);}
$dollar = round($dollar, 2);
$euro = round($euro, 2);


дальше немного криво сделал: проверяю cid и умножаю цену в базе на курс валюты в которой у меня цены на эту категорию товара, например:

if ($product_cid == 48) {
$preisis = $product_preis * $euro;
$preisis = round($preisis, -1);
} elseif ($product_cid == 45) {
$preisis = $product_preis;
$preisis = round($preisis, -1);
} else {
$preisis = $product_preis * $dollar;
$preisis = round($preisis, -1);
}


т.е. цены в админке у категории 48 в евро, у 45 - в рублях, а в остальных категориях в долларах. На сайте все цены отображаются в рублях по курсу ЦБ. Очень удобно, т.к. товаров в модуле несколько сотен позиций.

SLAED CMS 4.* Pro
PHP 5
Сервер в интернете
ealaj
  • Группа: Клиент
  • Пункты: 2204
  • Регистрация: 06.09.2006
  • Пол: Мужчина
  • Из: г. Саратов
ealaj
3.95

3.95

К сожалению пока только в ручную. Как вариант, в отделе магазина Экспорт/Импорт можно загрузить базу данных продуктов в формате CSV на свой компьютер, отредактировать цены и импортировать.

В любом случае мы постараемся учесть Ваше пожелание и реализовать в следующей версии.


Скажите, если один и тот же товар есть у нескольких поставщиков, можно как-то выбрать минимальную цену при импорте из CSV?

RikseL
  • Группа: Новички
  • Пункты: 176
  • Регистрация: 13.04.2016
RikseL
0

0

Открыть Ответить

Хотите опробовать SLAED CMS в действии?

Идеи и предложения
Обратная связь