freelancer

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

Рекомендуемые сообщения

freelancer    1 420

на примере рубля
для этого в админке должно быть две валюты Доллар и Рубль
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

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


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

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

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

на:

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

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


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

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

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

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

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

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

 

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

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


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

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

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

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

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


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

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

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


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

какое актуальное решение для версии 2.3.0.2 ?

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


Ссылка на сообщение
Поделиться на другие сайты
mpn2005    349
19 часов назад, oldejuk сказал:

какое актуальное решение для версии 2.3.0.2 ?

В файле catalog/controller/startup/startup.php

 

Перед стокой:

$this->registry->set('currency', new Cart\Currency($this->registry));

Добавить:

$this->session->data['currency'] = 'RUB';

Вместо 'RUB' поставить свой код валюты.

 

Можно и ранье вставлять данный код, но лучше что бы он был рядом с остальным кодом обработки валюты.

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


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

    Ни одного зарегистрированного пользователя не просматривает данную страницу