OpenCart в админке поставить доллары, а на сайте рубли или гривны
|В статье как поставить валюту по умолчанию в OpenCart в комментариях мне начали задавать вопрос, как сделать так чтобы в админке валюта была в долларах, а на сайт выводились рубли или грн?
Этот вопрос действительно очень актуален, поскольку курсы валют теперь постоянно прыгают как в России так и в Украине, поэтому цены на импортные товары постоянно приходится менять. Чтобы не делать это все в ручную ниже я привел инструкцию как поменять валюты.
Но прежде чем что-то делать напомню, всегда делайте резервную копию магазина, как файлов так и SQL базы.
Назначаем валюту по умолчанию в магазине для клиента
Чтобы клиенту по умолчанию выводилась национальная валюта надо в админке:
- 1) Зайдите в Система->Настройки
- 3) Нажмите на кнопку «Изменить»
- 4) Перейдите на вкладку «локализация» и поставьте основную валюту (грн или рубли)
- 5) Отмените атоматическое обновление валют, т.к. курс там грузится межбанка, а не реальный, рыночный. В моем случае основная валюта это польский злотый. В вашем случае это гривны или рубли.
Соххраните внесенные изменения.
Этим самым мы поставили валюту по умолчанию, в магазине, которую видит клиент. Теперь пришла пора менять админку.
Назначаем валюту по умолчанию в магазине для администратора
Хочу сразу предупредить. Сейчас у вас стоят цены как в админке так и в магазине одинаковые, а одной валюте. После внесения изменений цены в админке станут в долларах, но цена останется та же самая. Приведу пример. Есть товар, карандаш. Цена за него стояла 10 грн. В админке стояла цифра 10, и на сайте естественно выводилась цена в 10 грн.
Теперь мы поменяем валюту в админке, и она станет в долларах, но цифры останутся те же. Наш карандаш станет стоить 10$, соответственно клиент увидит цену в 260 грн. (курс на момент написания статьи 1$=26 грн). Но это ничего страшного. Для того чтобы все вернуть на круги своя нам достаточно все цены в админке разделить на текуший курс, т.е. 26. Тогда карандаш будет стоит в админке 0.3$, а в магазине для клиента, все теже 10 грн.
Я предупредил вас для того, чтобы вы понимали что вносить изменения в магазин лучше всего ночью, когда на нем меньше всего клиентов. Итак, поехали менять цены в админке:
1) Заходим в Система->Локализации->Валюты
2)В валюте USD поставьте курс 1.00000000
3) А в грн или рублях поставьте соответствующий курс на сегодняшний день.
К примеру у меня вышло так:
Все. Теперь в админке цены стоят в долларах, а отображаются для клиента в рублях или гривнях. Ну а в моем случае в злотых.
Теперь как я и говорил, надо цены поделить на курс. Для этого устанавливаем модуль который можете скачать по ссылке.
- Качаем файл
- Разархивируем его
- Копируем на хостинг в корень сайта. (не заменяем, а обьеденям папки)
Все что нам осталось это воспользоваться установленным модулем. Для этого:
- Идем в Дополнения->Модули
- Активируем модуль Групповое управление ценами
- Нажимаем «Изменить» напротив этого модуля
- Выделяем все категории и подкатегории в магазине
- Выбираем «Разделить на», «число». И в поле прописываем текуший курс. Ради примера я вписал 26. Текущий курс доллара к гривне
На этом все, надеюсь у вас все получилось и не возникло вопросов. Но если вы столкнулись с каким-то трудностями, напишите в комментариях, попробую вам помочь.
Добрый день. Не получается. Отображаеются 2 валюты — доллар и грн. При отключении USD — цена отображается в USD. Можете подсказать что не так?
Где у вас отображается две валюты? Для клиента на верху?
Кол бек хаантер реально повышает конверсию?
Все проще. Редактируем файл system/library/currency.php
Находим в нем строчку:
public function format($number, $currency = », $value = », $format = TRUE)
и заменяем ее на:
public function format($number, $currency = ‘RUB’, $value = », $format = TRUE)
Если Вам нужно выставить гривны то вместо «RUB» пишите «UAH».
Теперь на сайте пользователи будут видеть все цены в гривне или рублях. А значение прямо стандартными средствами можно указать 26 для гривны.
СПАСИБО!!!!
Скажите, а возможно ли если указана цена в рублях в админке, её и выводить, а вот если цена в админке указана в долларах или в euro то цена на сайте указывалась в рублях согласно курсу.
Т.е. в данной теме всё актуально для всех товаров, а нужно не для всех, что то хочеться указывать в рублях изначально.
Вы хотите завести в админке две валюты. Я правильно понял?
Да очень интересный вопрос. Можно как бы разделить, кто то к гривне привязан а кто то к долору.
________________________________________________
Часть поставщиков привязывают цены к одному курсу, часть к другому а некоторые привязвнны к одному курсу уже около полу года, как в таком случае можно решить это вопрос?
В теории это должна делать CRM система, и выгружать цены в OpenCart
Подскажите пожалуйста! Можно ли завести 2 валюты? Т.е. есть товары которые указаны в рублях, и по курсу на сегодняшний день они пересчитываются, а есть товары которые должны быть указаны только в рублях, не зависимо какую валюту выберет клиент.Возможно ли такое?
Такое возможно, но в рамках этой статьи, и в ближайшее время, это рассматривать не будем, поскольку случай уж слишком частный
Спасибо большое!
Добрый день! Такая незадача.. все сделал по инструкции — получилось вроде. Но! Что делать при изменении курса? Где править?
В админке вы меняете курс, там же где и ставили основные изменения описанные в этой статье
Ну, т.е. тут http://napositive.com.ua/wp-content/uploads/2015/04/Valyta-po-ymolcheniy-v-adminke.png
Спасибо автору. Всё понятно расписано. Решило мою проблему на 100%
Добрый день! мне все равно не понятно как в админке поставить валюту по умолчанию? стоит по умолчанию для клиентов гривня, а в админке мне нужен доллар
Если вам тяжело сделать по инструкции — напишите на почту, поможем.
Подскажите, пожалуйста, а если в админке нужно указывать в двух валютах, например в долларах и в евро, а для клиентов все отображать в гривнах, возможно такое?
Не совсем понял зачем в двух валютах.
Товар закупается у разных поставщиков и в разных валютах (доллары, евро), а продается все в гривнах. Но вопрос уже решен — нашла соответствующий модуль. Спасибо.
Поделитесь пожалуйста, что за модуль.
multicurrency-1.0.2-1.5.1.3-1.5.5.1
Ну наконец-то! Спасибо автору! Очень актуально, цена=курс.
Добрый день,
Все пишут, что их модули «мультивалютные», но на самом деле таковыми не являются, ибо просто пересчитывают цену по курсу валюты, выбранной по умолчанию.
И похоже, тут у opencart «идеологический тупик»…. 😉 в самом понятии «валюта по умолчанию»?
Вот например ситуация:
1. Пусть у разных поставщиков цены в USD и в EUR, хотя иногда даже у одного поставщика товары в двух валютах…
2. Зачем сразу переводить цену в гривны, рубли и так далее? Зачем переводить цену из EURO в USD (или наоборот в зависимости от выбора валюты по умолчанию)? Клиент просто должен иметь возможность всегда видеть цену в исходной валюте, т.е. если она была введена в USD, то в USD, то же самое с EUR.
Чего уж более естественного, но функционал opеncart такой простой вещи к сожалению не позволяет…
3. Конечно, при необходимости клиент должен видеть цену в своей собственной валюте, но хорошо что такой пересчет есть стандартная функция opencart.
И как реализовать реальную мультивалютность?
Если честно, я не встречал модуля который бы позволял в админке вносить цены в разных валютах, поскольку тогда будет невероятная путаница при изменении курса доллара к Евро
А каким образом возникнет путаница, если то, что изначально введено в USD и отобразится в USD, а то, что в EUR, отобразится в EUR?
Ну а при выборе одной из валют для пересчета, оно и пересчитается согласно курса.
Статья, конечно, хорошая, все работает. Но в письме заказчику приходит сумма заказа в долларах. С этим что-нибудь можно сделать?
да. Заказчику приходит в той валюте в которой он смотрел сайт. Если заказчик выбирает валюту евро, то счет ему прийдет на почту в евро
Здравствуйте ,всё расписано прекрасно, но у меня возникла проблема — не устанавливается модуль «групповое изменение валют», что посоветуете?
установить удалось модуль ,но редактировать нет, когда нажимаю «редактировать», то вылетает такая ошибка www/admin/controller/module/price_control.php on line 103
А можно сделать, чтобы в админке, когда захожу в заказы и нажимаю распечатать то в таблице валюта пишиться в $, возможно изменить ее га гривну?
Можно, делать в обратном порядке
А как быть с доставкой, которая также задается в грн? При смене валюты внутри системы доставка также становится в у.е., а как сделать так, чтобы доставка, к примеру, всегда была 45 грн вне зависимости от курса валюты?
Через правку php кода, но в рамках этой статьи это не предусмотрено
Help! у меня цена отображается с буквами: 24t635d0 руб. подскажите, как эти t d убирать? спасибо!
Надо смотреть файлы шаблона, удаленно не помогу. Если надо пишите на почту
как поставить акцию на товар, если цена вводится в админке в злотых а на сайте выводится в гривнах. Помогите, пожалуйста.
Добрый вечер! Модуль интересный, установить удалось модуль ,но редактировать нет, когда нажимаю «редактировать», то вылетает такая ошибка www/admin/controller/module/price_control.php on line 103 ругается на $this->response->setOutput($this->render());
Правдо у меня стоит opencart 2.3 русская сборка, но валют 3 и гривна стоит по умолчанию. Что делать и что не так?
Не устанавливается модуль Групповое изменение цен. В архиве содержится 2 папки — 1)Групповое изменение цен и 2) MACOSX. С 1й папки заливаю в корень файлы, в модулях при нажатии редактировать выдает ошибки: Notice: Indirect modification of overloaded property ControllerModulePriceControl::$data has no effect in… и тд ; Fatal error: Call to undefined method ControllerModulePriceControl::render() in..
Версия 2.1