Модуль Мультивалютные товары Opencart 3.0
Модуль позволяет задавать цены товаров в разных валютах. В форме редактирования товара на Opencart 3.0 возле поля "Цена" добавляется выбор валюты. На сайте цена будет отображаться в валюте магазина, то есть она будет автоматически пересчитываться по курсу.
Это может пригодится, если у вас мультивалютные товары, например, если вы закупаете товар у разных поставщиков в разной валюте. Тогда вы сможете добавлять товары с ценой в любой валюте, но на сайте цена будет отображаться в той валюте, которая выбрана по умолчанию в магазине. Таким образом вы можете очень быстро пересчитать все цены просто обновив курс валют в админке в случае прыжков курса. В списке товаров в админке цена будет отображаться с указанной вами валютой для каждого товара индивидуально.
Установка модуля:
1. Загрузить модуль через "Установку расширений" в админке Opencart 3.0
2. Обновить кэш в Модификаторах
3. Обновить кэш шаблонов
4. Нужно добавить валюты и указать правильно курс по отношению к основной валюте, это можно сделать в разделе Система > Локализация > Валюты. В поле "Значение" задается курс валюты по отношению к основной валюте сайта, разделитель десятичных знаков - точка. Указывайте курс правильно, иначе цены будут пересчитываться не правильно.
Если основная валюта на сайте - рубль, тогда ее курс 1, а в остальных валютах курс будет по отношению к этой валюте, то есть долл/руб, евро/руб, грн/руб, а не наоборот, в том виде, как вы привыкли это видеть в банках.
Если основная гривна, тогда у нее курс 1, а в остальных руб/грн, долл/грн, евро/грн.
Если доллар основная, тогда ее курс 1, а в остальных руб/долл, грн/долл, евро/долл.
Если основная евро, тогда у нее курс 1, а в остальных руб/евро, грн/евро, долл/евро.
5. Перейти к добавлению или редактированию товара, на вкладке "Данные" возле поля "Цена" появилась возможность выбрать валюту.
Другие возможные названия: мультивалютный товар, разные валюты товаров, multi currency products, мульти валютные цены, multicurrency Opencart 3.0
Лог обновлений:
24.09.2019 - решена ошибка в админке при добавлении Акций для товара.
02.12.2019 - добавлена совместимость с "Умным фильтром" и "Экспорт YML".
15.12.2019 - правильная работа сортировки товаров по цене.
18.03.2020 - улучшена совместимость модуля с другими модулями и шаблонами.
11.06.2020 - улучшена совместимость с шаблонами
22.06.2020 - совместимость с экспортом от модуля Y.CMS
30.11.2020 - совместимость с шаблонами OCT и модулем UniXML
- Opencart 3.0.0.0
- Opencart 3.0.1.1
- Opencart 3.0.1.2
- Opencart 3.0.2.0 или ocStore 3.0.2.0
- Opencart 3.1.0.0
- Opencart 3.0.3.1
- Opencart 3.0.3.2
- Opencart 3.0.3.3
- Opencart 3.0.3.6
- Opencart 3.0.3.7 и OcStore 3.0.3.7
- Opencart 3.0.3.8
- Opencart 4.0.0.0
- Opencart 4.0.1.0
- Opencart 4.0.1.1
- Opencart 4.0.2.0
- Opencart 4.0.2.1
- Opencart 4.0.2.2
- Opencart 4.0.2.3
Решение проблемы:
Скачайте и установите дополнение Localcopy OCMOD
После установки этого дополнения нужно перейти в раздел Модификаторы и нажать кнопку "Обновить модификаторы". После этого можно устанавливать другие модули.
Возможно несколько проблем и вариантов их решения:
1. Не сброшен кеш шаблона - нужно обновить кеш [скриншот]
2. Вы раньше редактировали файлы шаблона через админку в разделе "Редактор темы", тогда этот файл сохранился в базе данных и на него уже не влияют ocmod-модификаторы, это проблема Opencart 3. Вам нужно установить фикс [скачать] и обновить модификации в админке.
3. Ваш шаблон устроен на TPL-файлах (*.tpl), в то время, когда в Opencart 3 шаблоны должны быть в формате TWIG (*.twig). Проблема в том, что ocmod-модификаторы не влияют на TPL-файлы - все изменения нужно вносить в эти файлы вручную.
Нужно включить вывод всех ошибок php на экране - для этого в файле .htaccess в конце нужно добавить строки:
php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL
Теперь вместо ошибки 500 должен отображаться код ошибки, который укажет на проблему.
В официальных сборках Opencart 3.0.3.5 - 3.0.3.6 есть баг - там модификаторы не работают с twig-файлами из-за ошибки в стандартном модификаторе /system/modification.xml - вторая операция из этого модификатора не срабатывает.
Проблема есть на оф. гитхабе и предложено решение https://github.com/opencart/opencart/blob/3.0.x.x_Maintenance/upload/system/modification.xml
Мы сделали фикс-модификатор по этим рекомендациям, он заменит файл /system/modification.xml на правильный.
Решение проблемы:
1. Сделайте резервную копию вашего файла /system/modification.xml
2. Скачайте фикс-модификатор по ссылке и установите его у себя в админке
3. Обновите кэш модификаторов
4. Обновите кэш twig-шаблонов
В стандартном разделе Система > Локализация > Валюты.
В стандартном разделе Система > Локализация > Валюты > для каждой валюты в поле "Значение".
UPDATE `oc_product` p INNER JOIN `oc_product_special` s ON s.product_id=p.product_id SET p.temp_price = (CASE WHEN s.price IS NOT NULL THEN s.price ELSE p.price END) * (CASE WHEN p.currency_id>0 THEN (1/(SELECT c.value FROM `oc_currency` c WHERE c.currency_id=p.currency_id)) ELSE 1 END);
Есть еще один вариант как решить эту проблему раз и навсегда, но это может сказаться на скорости загрузки ваших страниц, если у вас слабый хостинг.
Для этого нужно в модификаторе модуля нужно найти строку:
$sql .= " ORDER BY (CASE WHEN p.temp_price > 0 THEN p.temp_price WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
и заменить ее на
$sql .= " ORDER BY ((CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) * (CASE WHEN p.currency_id>0 THEN (1/(SELECT c.value FROM `" . DB_PREFIX . "currency` c WHERE c.currency_id=p.currency_id)) ELSE 1 END))";
- Категория: Административная часть
- Автор: Opencart
-
Цена: 557 руб.
- Гарантирована совместимость
- Только OCMOD
- Без привязки к домену
- Открытый код
- Без вирусов
- Техподдержка
Информация:
- Типичные ошибки в Opencart 3
- Проблемы с совместимостью и расширениями в OpenCart 3, как решить их и обеспечить стабильную работу магазина
- Модуль карта сайта sitemap.xml для Яндекс в OpenCart 3.0 - улучшение SEO
- SEO для OpenCart 3 - оптимизация вашего интернет-магазина
- Проблемы совместимости в OpenCart 3, как решить и повысить эффективность Вашего интернет-магазина
- Интеграция 1C и OpenCart 3 - совершенство в управлении бизнесом
- Изменение дизайна в OpenCart 3 - улучшение дизайна вашего магазина
- Настройка способов оплаты в OpenCart 3 - подробное руководство
- Оптимизация производительности OpenCart 3 - эффективные методы и практические советы
- Секреты успешного SEO на OpenCart 3 - преодоление трудностей
- Установка модификаций ocmod в OpenCart