Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Мультивалютность товаров


sikoko

Recommended Posts

Собственно что имеем: товары в базе 1с в разных валютах. Импорт в базу opencart идет с дополнительным полем (указывается какая именно у каждого товара валюта). Спасибо FreeDemon, разжевал подробно как сделать. Что нужно: при отображении товара на сайте необходимо создать условие проверки "валютности" товара и, с учетом этого, приводить все цены к выбранной на сайте валюте. Вариант с приведением к одной валюте при экспорте из 1с не подходит, т.к. из за разницы в курсах цены потом не сходятся с 1с (да и обновлять базу сайта часто нужно).Подскажите где копать? Думаю поставить условия в месте конвертации к выбранной валюте отображения, но не могу найти где это.

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Есть вопрос:Как в метод format класса Currency передать переменную (например description) текущего товара (в момент вызова метода) через глобальную переменную (параметром не предлагать, очень много вызовов метода).

Надіслати
Поділитися на інших сайтах


Почти разобрался:

в library/currency.php подправил метод форматирования:

public function format($number,$valut='', $format = TRUE ) {			$currency = '';			$value = '';			$usd ='';			$eur ='';			$symbol_left   = $this->currencies[$this->code]['symbol_left'];      		$symbol_right  = $this->currencies[$this->code]['symbol_right'];      		$decimal_place = $this->currencies[$this->code]['decimal_place'];									$currency = $this->code;//получение курсов валют$usd = $this->currencies['USD']['value'];$eur = $this->currencies['EUR']['value'];			if ($this->code == "USD") { 		if ($valut=="usd") {$value = $number;}		if ($valut=="grn") {$value = $number/$usd;}		if ($valut=="euro") {$value = $number*$eur/$usd;}	}	if ($this->code == "UAH") {		if ($valut=="usd") {$value = $number*$usd;}		if ($valut=="grn") {$value = $number;}		if ($valut=="euro") {$value = $number*$eur;}	}		if ($this->code == "EUR") {		if ($valut=="usd") {$value = $number*$usd/$eur;}		if ($valut=="grn") {$value = $number/$eur;}		if ($valut=="euro") {$value = $number;}	}	    	$string = '';    	if (($symbol_left) && ($format)) {      		$string .= $symbol_left;    	}        ...

Переменную передаю при вызове функции параметром. Может не совсем корректно, но пока не заметил.

Осталось разобраться с корзиной. Цены на товары отображаются корректно, а вот общая сумма еще нет.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.