Перейти к содержанию
freelancer

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

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

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

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


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

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

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

на:

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

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


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

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

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

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

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

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

 

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

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


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

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

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

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

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


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

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

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


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

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

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


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

Подскажите, что я делаю не так? Версия ocStore 2.3.0.2.3

Screenshot_25.thumb.png.c13c95014b930d00cd81efc6b465c4ba.png
 

Спойлер

 

Screenshot_27.png.95de27502ea5c370c81c9089e2e9c440.png

Screenshot_28.png.e6ab774dd6dc1b55a6a2079dcd6088f5.png

Screenshot_29.png.38b8c3591d374cb48bf468722739447b.png

 

 

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

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

$this->registry->set('currency', new Cart\Currency($this->registry));
Добавить:

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

 

И все, сайт вешается, белый экран и ошибка HTTP ERROR 500

Подскажите, как решить проблему?

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


Ссылка на сообщение
Поделиться на другие сайты
40 минут назад, Rezoner сказал:

И все, сайт вешается, белый экран и ошибка HTTP ERROR 500

Подскажите, как решить проблему?

Для начала подскажите текст ошибки из лога php.

Т.к. на странице ошибка 500, то в логе php должны быть ошибки.

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


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

В общем я решил вопрос настроив только админку. В код не лез, вроде все работает.

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


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

для 2.3 я бы добавил 

        $code = 'RUB';

перед

        if (!array_key_exists($code, $currencies)) {
            $code = $this->config->get('config_currency');
        }

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

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Вы комментируете как гость. Если у вас есть аккаунт, пожалуйста, войдите
Ответить в этой теме...

×   Вы вставили контент с форматированием.   Удалить форматирование

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


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

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.