freelancer

описание как в админке указывать цену в $, а отображать пользователю в нац валюте

5 сообщений в этой теме

на примере рубля
для этого в админке должно быть две валюты Доллар и Рубль
1. у доллара коэффициент 1
у рубля задаете сами (коэффициент обновляется автоматически каждый раз при входе в админку)
z7qvqAs.pngUNj0TzY.png
 
2. в настройках в админке нужно указать основную валюту Доллар
lH4yjMM.png
 
3.1. для одновалютных магазинов
в файле system/library/currency.php после кода
 

if (isset($this->request->get['currency']) && (array_key_exists($this->request->get['currency'], $this->currencies))) {
$this->set($this->request->get['currency']);
     } elseif ((isset($this->session->data['currency'])) && (array_key_exists($this->session->data['currency'], $this->currencies))) {
       $this->set($this->session->data['currency']);
     } elseif ((isset($this->request->cookie['currency'])) && (array_key_exists($this->request->cookie['currency'], $this->currencies))) {
       $this->set($this->request->cookie['currency']);
     } else {
       $this->set($this->config->get('config_currency'));
     }

добавить

$this->set("RUB");

3.2 для многовалютных магазинов

в файле system/library/currency.php
блок

     } else {
       $this->set($this->config->get('config_currency'));
     }

заменить на

     } else {
       $this->set("RUB");
     }
Изменено пользователем freelancer
1

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно и вот так поменять с:

public function format($number, $currency = '', $value = '', $format = true) {

на:

public function format($number, $currency = 'RUB', $value = '', $format = true) {
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

еще как вариант:

Если не мультимагазин, то просто в index.php (в корне сайта) после строки:
$registry->set('currency', new Currency($registry));

Добавить строку:

$registry->get('currency')->set('RUB');

Это в магазине принудительно выставит валюту.

 

При таком способе корректно работает модуль автообновление цены при выборе опций

1

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

при всём уважении, этот топик в FAQ, нет смысла объяснять каждому, который только установил opencart  почему надо делать так или почему его метод плохой (хотя да, я сам виноват)

оффтоп потер, остались только сообщения по теме

Изменено пользователем freelancer
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

3.1. для одновалютных магазинов в файле system/library/currency.php после кода

Дилетантский вопрос: 

В итоге код должен выглядеть так?

if (isset($this->request->get['currency']) && (array_key_exists($this->request->get['currency'], $this->currencies))) {
			$this->set($this->request->get['currency']);
		} elseif ((isset($this->session->data['currency'])) && (array_key_exists($this->session->data['currency'], $this->currencies))) {
			$this->set($this->session->data['currency']);
		} elseif ((isset($this->request->cookie['currency'])) && (array_key_exists($this->request->cookie['currency'], $this->currencies))) {
			$this->set($this->request->cookie['currency']);
		} else {
			$this->set($this->config->get('config_currency'));
		}
			$this->set("UAH");

Со скобками, по аналогии, что-то не то выходит. просто.

Изменено пользователем AlexBr
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!


Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.


Войти

  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.