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

[Решено] Валюта доставки


Recommended Posts

Здравствуйте. При создании сайта на OcStore столкнулся с одной проблемой: в админке основная валюта выставлена в долларах, в ней же заносится товар, для пользователя выставлена гривна, курсы забиты, все пересчитывается как надо, но! Стоимость доставки забивается тоже в долларах, а хотелось бы в гривнах... Пример: я стоимость доставки указал 15.00, а пользователь видит сумму в 335 гривен. Где осуществляется этот пересчет? Я уже находил хорошие модули по этому плану - Валюта плюс(немного не то, но с его помощью можно выкрутится) или Менеджер валют ПРО, но они стоят немало денег и ради одной правки не хотелось бы к ним прибегать. 

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


Спасибо, получилось, только немного подкорректировал Ваш вариант.

Ниже рабочее решение для модуля xshipping:

 

Было:

                                $shipping_cost=$this->config->get('xshipping_cost'.$i);
				$free_shipping_cost=(float)$this->config->get('xshipping_free'.$i);
				if(empty($free_shipping_cost))$free_shipping_cost=0;
				
				if ($this->cart->getSubTotal() >= $free_shipping_cost && $free_shipping_cost!=0) {
					$shipping_cost = 0;
					
				}
				
				
				if ($status) {
				
					$quote_data['xshipping'.$i] = array(
						'code'         => 'xshipping'.'.xshipping'.$i,
						'title'        => $this->config->get('xshipping_name'.$i),
						'cost'         => $shipping_cost,
						'tax_class_id' => $this->config->get('xshipping_tax_class_id'.$i),
						'text'         => $this->currency->format($this->tax->calculate($shipping_cost, $this->config->get('xshipping_tax_class_id'.$i), $this->config->get('config_tax')))
					);

Стало:

                                $shipping_cost=$this->config->get('xshipping_cost'.$i);
				$cost = $this->currency->convert($shipping_cost, 'UAH', 'USD');
				$free_shipping_cost= (float)$this->currency->convert($this->config->get('xshipping_free'.$i), 'UAH', 'USD');
				if(empty($free_shipping_cost))$free_shipping_cost=0;
				
				if ($this->cart->getSubTotal() >= $free_shipping_cost && $free_shipping_cost!=0) {
					$cost = 0;
					
				}
				
				
				if ($status) {
				
					$quote_data['xshipping'.$i] = array(
						'code'         => 'xshipping'.'.xshipping'.$i,
						'title'        => $this->config->get('xshipping_name'.$i),
						'cost'         => $cost,
						'tax_class_id' => $this->config->get('xshipping_tax_class_id'.$i),
						'text'         => $this->currency->format($this->tax->calculate($cost, $this->config->get('xshipping_tax_class_id'.$i), $this->config->get('config_tax')))
					);
Змінено користувачем 2sandro
Надіслати
Поділитися на інших сайтах


  • 2 years later...

все получилось, но тут вопрос возникает, если в заказе учитывается доставка, то все равно конвертит на гривны, как сделать тоже самое только в "учитывать в заказе", а точнее где это правится?

Змінено користувачем Alexodiy
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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