msMultiCurrency
Компонент добавляет мультивалютность в miniShop2, а также позволяет привязывать цену отдельного товара к одной из
валют.
Видео-обзор
Купить
валют.
Видео-обзор
Купить
Поблагодарить автора
Отправить деньги
Комментарии: 69
То, чего не хватало всем многие годы. Спасибо!
Работает ли с mFilter2 когда фильтруешь по цене?
Фильтрация по цене будет работать но вот цена в фильтре всегда будет отображаться в базовой валюте. На следующей недели посмотрю как это можно исправить.
Инфа в доках, раздел mFilter2
Добрый день. Компонент позволяет задать привязку например к евро и выводить цену в рублях, на основе курса евро?
Да
Возможно ли привязать цену не к каждому отдельному товару, а ко всем товарам отдельно взятой категории?
нет
UPD 1.0.3
— Добавлено: Наборы значений валюты
ВАЖНО! Перед обновлением не забывайте сделать бэкап базы данных. После обновления необходимо очистить кэш браузера
— Добавлено: Наборы значений валюты
ВАЖНО! Перед обновлением не забывайте сделать бэкап базы данных. После обновления необходимо очистить кэш браузера
UPD 1.0.4
— Добавлено: Вывод полей: валюта, цена и старая цена в категории товара
— Добавлено: Пересчет цены при импорте с помощью msImportExport
Вывод цен и валюты в категории товаров
Для того что бы поля “Валюта”, “Цена в выбранной валюте” или “Старая цена в выбранной валюте” вывести в категории товара, необходимо в системных настройках minishop2 для опцию “Поля таблицы товаров” (ключ ms2_category_grid_fields) добавить название нужных полей.
currency_id — название валюты
msmc_price — цена в выбранной валюте
msmc_old_price — старая цена в выбранной валюте
Пример
— Добавлено: Вывод полей: валюта, цена и старая цена в категории товара
— Добавлено: Пересчет цены при импорте с помощью msImportExport
Вывод цен и валюты в категории товаров
Для того что бы поля “Валюта”, “Цена в выбранной валюте” или “Старая цена в выбранной валюте” вывести в категории товара, необходимо в системных настройках minishop2 для опцию “Поля таблицы товаров” (ключ ms2_category_grid_fields) добавить название нужных полей.
currency_id — название валюты
msmc_price — цена в выбранной валюте
msmc_old_price — старая цена в выбранной валюте
Пример
id,menuindex,pagetitle,article,price,msmc_price,currency_id,thumb,new,favorite,popular
А как сделать что бы при изменении количества товара в корзине итоговая цена менялась в выбранной валюте?
ничего делать не нужно т/к она и так должна меняться если у тебя последняя версия minishop2 и msMultiCurrency ну и естественно если ты id у элементов формы не удалил
Не менял ничего, вот код корзины
<div class="cartPage" id="msCart">
<div class="cartPageTitle">
<h2>
Корзина
</h2>
<form class="clearCart" method="post">
<button class="clearCart" type="submit" name="ms2_action" value="cart/clean">
Очистить корзину
</button>
</form>
</div>
{if !count($products)}
{'ms2_cart_is_empty' | lexicon}
{else}
<div class="cartPageTable">
<div class="cartPageTableTitle">
<p class="columnImage cartPageTableTitleEl">
Товар
</p>
<p class="columnDescription cartPageTableTitleEl">
Описание
</p>
<p class="columnPrice cartPageTableTitleEl">
Цена
</p>
<p class="columnCount cartPageTableTitleEl">
Количество
</p>
<p class="columnClose cartPageTableTitleEl"></p>
</div>
<div class="cartPageTableContent">
{foreach $products as $product}
<div class="cartPageTableContentEl" id="{$product.key}">
<div class="goodsImageColumnWrapper">
<div class="goodsImageColumn">
{if $product.thumb?}
<img src="{$product.thumb}" alt="{$product.pagetitle}" title="{$product.pagetitle}"/>
{else}
<img src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
alt="{$product.pagetitle}" title="{$product.pagetitle}"/>
{/if}
</div>
</div>
<div class="goodsDescriptionColumnWrapper">
<div class="goodsDescriptionColumn">
<p>
<strong>Артикул: </strong>
{$product.article}
</p>
<p class="goodsDescriptionColumnBrief">
{if $product.options?}
{foreach $product.options as $key => $option}
{if $key in ['modification','modifications','msal']}{continue}{/if}
{set $caption = $product[$key ~ '.caption']}
{set $caption = $caption ? $caption : ('ms2_product_' ~ $key) | lexicon}
{if $option is array}
{$caption} - {$option | join : '; '}
{else}
{$caption} - {$option}
{/if}
{/foreach}
{/if}
</p>
</div>
</div>
<div class="goodsPrice">
<p>
[[!msMultiCurrencyPrice? &price=`{$product.price}`]][[!+msmc.symbol_right]]
</p>
</div>
<div class="goodsAmount">
<form method="post" class="ms2_form e quantity" role="form">
<input type="hidden" name="key" value="{$product.key}"/>
<a class="minus" href="#reduce">-</a>
<input type="number" name="count" class="counter" value="{$product.count}"/>
<a class="plus" href="#add">+</a>
<button class="btn btn-default" type="submit" name="ms2_action" value="cart/change">
<i class="glyphicon glyphicon-refresh"></i>
</button>
</form>
</div>
<div class="goodsClose">
<form method="post" class="ms2_form">
<input type="hidden" name="key" value="{$product.key}">
<button type="submit" name="ms2_action" value="cart/remove">
<img class="goodsCloseButton" src="img/cart/closeIcon.png" alt="">
<img class="goodsCloseButtonHover" src="img/cart/closeHoverIcon.png" alt="">
</button>
</form>
</div>
</div>
{/foreach}
</div>
<div class="cartPageResult">
<p>
<strong>
{'ms2_cart_total' | lexicon}:  
</strong>
<span class="ms2_total_cost">[[!msMultiCurrencyPrice? &price=`{$total.cost}`]]</span> [[!+msmc.symbol_right]]
</p>
<div class="cartPageResultButton">
<a href="[[++site_url]]">
Назад в магазин
</a>
<a href="[[~56]]">Оформить заказ</a>
</div>
</div>
</div>
{/if}
</div>
скинь мне через техподдержку доступ в админку сайта
установили модуль. пытаемся создать поставщика котировок валют и не ясно как это сделать. согласно инструкции должна быть папка providers и в ней класс пример. но такой нет папки или что-то не так поняла??
Напишите в техподдержку дополнения.
вопрос решен уже
Компонент работает с динамическим обновлением цен и товаров на компоненте msMCD, проверил на своем проекте
Чанк вывода msMCDMiniCartRowTpl
Чанк вывода msMCDMiniCartRowTpl
Вывод цены товара [[!msMultiCurrencyPrice? &price=`{$item.price}`]] [[!+msmc.symbol_right]]
Вывод суммы [[!msMultiCurrencyPrice? &price=`{$total_cost}`]]
fenom
Вывод цены товара {'!msMultiCurrencyPrice' | snippet : ['price' => $item.price,]} {$_modx->getPlaceholder('msmc.symbol_right')}
Вывод суммы {'!msMultiCurrencyPrice' | snippet : ['price' => $total_cost,]} {$_modx->getPlaceholder('msmc.symbol_right')}
Ребята, добрый день! Нужна ваша помощь. В общем проблема с выводом конвертированной суммы на страницу оплаты через liqPay.
Коротко о поставленной мне задачи:
У товаров основной валютой должно быть Евро, но в корзине и на страницу оплаты через Liqpay должна быть цена пересчитанная в грн. В общем все настроил, только вот в LiqPay заходит сумма не 3000 грн, 100 грн, где 100 это цена товара в евро.
Коротко о поставленной мне задачи:
У товаров основной валютой должно быть Евро, но в корзине и на страницу оплаты через Liqpay должна быть цена пересчитанная в грн. В общем все настроил, только вот в LiqPay заходит сумма не 3000 грн, 100 грн, где 100 это цена товара в евро.
Ну так дополнение которое реализует оплату liqPay берет цену из поля price, а у тебя там цена в евро вот ты и получаешь 100 грн. Система оплаты ничего же не знает о msMultiCurrency. Поэтому тебе нужно, если конечно в этом модуле оплаты есть системное событие, прикрутить плагин в котором конвертировать сумму из евро в гривну. Вот код конвертации.
$convertCurrencyId = 2; // ID валюты в которую нужно конвертировать цену. У гривны это 2
$msmc = $modx->getService('msmulticurrency', 'MsMC');
$convertPrice = $msmc->getPrice($price, 0, $convertCurrencyId, 0, false);
Огромное спасибо! Буду пробовать
На сколько я понял скрипт находиться здесь core/components/minishop2/custom/payment/liqpay.class.php
<?php
if (!class_exists('msPaymentInterface')) {
require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/mspaymenthandler.class.php';
}
class LiqPay extends msPaymentHandler implements msPaymentInterface {
public $config;
public $modx;
function __construct(xPDOObject $object, $config = array()) {
$this->modx = & $object->xpdo;
$siteUrl = $this->modx->getOption('site_url');
$assetsUrl = $this->modx->getOption('minishop2.assets_url', $config, $this->modx->getOption('assets_url').'components/minishop2/');
$paymentUrl = $siteUrl . substr($assetsUrl, 1) . 'payment/liqpay.php';
$this->config = array_merge(array(
'paymentUrl' => $paymentUrl
,'checkoutUrl' => $this->modx->getOption('ms2_payment_liqpay_url', null, 'https://www.liqpay.com/api/pay', true)
,'public_key' => $this->modx->getOption('ms2_payment_liqpay_public_key')
,'private_key' => $this->modx->getOption('ms2_payment_liqpay_private_key')
,'currency' => $this->modx->getOption('ms2_payment_liqpay_currency', 'USD')
,'culture' => $this->modx->getOption('ms2_payment_liqpay_culture', 'ru')
,'sandbox' => $this->modx->getOption('ms2_payment_liqpay_sandbox')
,'payway' => $this->modx->getOption('ms2_payment_liqpay_payway', 'card, liqpay, delayed, invoice, privat24', true)
), $config);
}
/* @inheritdoc} */
public function send(msOrder $order) {
$link = $this->getPaymentLink($order);
return $this->success('', array('redirect' => $link));
}
public function getPaymentLink(msOrder $order) {
$id = $order->get('id');
$successUrl = $this->config['paymentUrl']."?action=success&order_id=".$id;
$sum = number_format($order->get('cost'), 2, '.', '');
$description='Payment #'.$id;
$signature = base64_encode(sha1($this->config['private_key'].$sum.$this->config['currency'].$this->config['public_key'].$id.'buy'.$description.$successUrl.$this->config['paymentUrl'],1));
$request = array(
'url' => $this->config['checkoutUrl']
,'public_key' => $this->config['public_key']
,'amount' => $sum
,'order_id' => $id
,'type' => 'buy'
,'pay_way' => $this->config['payway']
,'language' => $this->config['culture']
,'sandbox' => $this->config['sandbox']
,'signature' => $signature
,'description' => $description
,'result_url'=> $successUrl
,'server_url' => $this->config['paymentUrl']
,'currency' => $this->config['currency']
);
$link = $this->config['checkoutUrl'] .'?'. http_build_query($request);
return $link;
}
/* @inheritdoc} */
public function receive(msOrder $order, $params = array()) {
$id = $order->get('id');
$success =
isset($_POST['amount']) &&
isset($_POST['currency']) &&
isset($_POST['public_key']) &&
isset($_POST['description']) &&
isset($_POST['order_id']) &&
isset($_POST['type']) &&
isset($_POST['status']) &&
isset($_POST['transaction_id']) &&
isset($_POST['sender_phone']);
if (!$success) { die(); }
$amount = $_POST['amount'];
$currency = $_POST['currency'];
$public_key = $_POST['public_key'];
$description = $_POST['description'];
$order_id = $_POST['order_id'];
$type = $_POST['type'];
$status = $_POST['status'];
$transaction_id = $_POST['transaction_id'];
$sender_phone = $_POST['sender_phone'];
$insig = $_POST['signature'];
if ($order_id!=$id) { die(); }
$private_key = $this->config['private_key'];
$gensig = base64_encode(sha1(join('',compact(
'private_key',
'amount',
'currency',
'public_key',
'order_id',
'type',
'description',
'status',
'transaction_id',
'sender_phone'
)),1));
if ($insig != $gensig) { die(); }
if ($status == 'sandbox' || $status == 'success') {
/* @var miniShop2 $miniShop2 */
$miniShop2 = $this->modx->getService('miniShop2');
@$this->modx->context->key = 'mgr';
$miniShop2->changeOrderStatus($order->get('id'), 2);
exit('OK');
} elseif ($status == 'failure') {
$this->paymentError('Err: wrong signature.', $params);
}
}
public function paymentError($text, $request = array()) {
$this->modx->log(modX::LOG_LEVEL_ERROR,'[miniShop2:LiqPay] ' . $text . ', request: '.print_r($request,1));
header("HTTP/1.0 400 Bad Request");
die('ERR: ' . $text);
}
}
Вот только как прикрутить к нему выше указанный Вами код, реально не выкупаю. Буду весьма признателен за помощь
ну тебе нужно сделать свой класс который будет наследникам LiqPay в котором переопределить метод getPaymentLink т/к в этом методе происходит получение цены заказа. Нужно
потом естественно свой класс нужно указать в настройках miniShop2 prntscr.com/ntykpc
$sum = number_format($order->get('cost'), 2, '.', '');
заменить на $msmc = $modx->getService('msmulticurrency', 'MsMC');
$sum = $msmc->getPrice($order->get('cost'), 0, 2, 0, false);
$sum = number_format($sum, 2, '.', '');
потом естественно свой класс нужно указать в настройках miniShop2 prntscr.com/ntykpc
На данный момент в minishope в выборе класса оплаты нельзя вбить свой, а в выпадающем меню только PayPal и LiqPay. Есть ли возможность откорректировать родительский класс?
ну по моему если ты этот свой класс добавишь в core/components/minishop2/custom/payment то он появиться в списке
В общем через создание нового класса так и не получилось (виснет корзина, а при обновлении страницы пишет корзина пуста), но засветилась ошибка в логах, о конфликте с компонентом msExtraFields, снес компонент и выбранная валюта стала передаваться в LiqPay, в общем огромное спасибо! Напишу скрипт на выбор гривны при загрузке страницы и удаления выпадающего списка и будет все ок). Еще раз спасибо!
Планирую приобрести данное дополнение.
Подскажите, может кто сталкивался, дополнение msMultiCurrency работает с msOptionsPrice2?
Володя (автор msOptionsPrice2) сказал, что нужно уточнять у разработчика msMultiCurrency.
Подскажите, может кто сталкивался, дополнение msMultiCurrency работает с msOptionsPrice2?
Володя (автор msOptionsPrice2) сказал, что нужно уточнять у разработчика msMultiCurrency.
Частично, не работает привязка товара к валюте т.к для этого нужно делать правки компонента msOptionsPrice2
Не подскажите, в каком направлении должны быть правки?
когда привязывается цена к валюте то цена в выбранной валюте указывается в отдельном поле которое добавлено к товару, у модификаций msOptionsPrice2 такого поля нет и добавить его через плагин как это сделано для товара нельзя
Планирую купить ваш компонент, однако задача стоит нетривиальная. Может ли ваш компонент по клику менять цену в [[+price]]. Допустим менеджер внес цену в евро (т.к. именно в евро ему дает цену поставщик), потом он нажимает где то в админке кнопку и цена меняется именно в поле [[+price]] на рубли. В общем клиент хочет менять валюту в бекенде точнее в своей админке причем именно нажатием на кнопку, он не планирует импортировать товары.
Привязка товара к валюте так и происходит, ты вводишь цену в выбранной валюте, а она автоматом пересчитывается по курсу в базовую при сохранении товара
UPD 1.1.0
— Добавлено: Параметр «ID валюты по умолчанию на сайте» (для разных контекстов можно указать свою валюту)
— Изменено: При включенной опции «Цена в корзине в валюте пользователя» заказ создается в валюте выбранной пользователем. ВАЖНО! Если используется какой то платежный сервис то значение цены для него будет в валюте выбранной пользователем.
— Изменено: Cниппет «msMultiCurrencyCart» (в чанках больше не нужно использовать сниппет msMultiCurrencyPrice)
— Улучшено: Работа с контекстами
— Добавлено: Параметр «ID валюты по умолчанию на сайте» (для разных контекстов можно указать свою валюту)
— Изменено: При включенной опции «Цена в корзине в валюте пользователя» заказ создается в валюте выбранной пользователем. ВАЖНО! Если используется какой то платежный сервис то значение цены для него будет в валюте выбранной пользователем.
— Изменено: Cниппет «msMultiCurrencyCart» (в чанках больше не нужно использовать сниппет msMultiCurrencyPrice)
— Улучшено: Работа с контекстами
При создании нового товара устанавливается код валюты = 0. Без названия валюты, которого естественно и быть не может, так как валюты с таким кодом в базе нет.
После сохранения нового товара, даже, если принудительно выбираю базовую (основную) валюту, код валюты опять сбрасывается в ноль и наблюдается картина со скрина выше.
Если выбрать для нового товара небазовую неосновную валюту, то в этом случае основная цена пересчитывается и после сохранения товара выбранная валюта сохраняется, но в поле валюты отображается её ID, а не название.
После сохранения нового товара, даже, если принудительно выбираю базовую (основную) валюту, код валюты опять сбрасывается в ноль и наблюдается картина со скрина выше.
Если выбрать для нового товара небазовую неосновную валюту, то в этом случае основная цена пересчитывается и после сохранения товара выбранная валюта сохраняется, но в поле валюты отображается её ID, а не название.
Вопрос закрыт в рамках техподдержки. Спасибо автору дополнения за помощь и исчерпывающую консультацию.
Здравствуйте, стоит задача дать возможность вносить в админке цены в рубля\долларах\евро и на сайте везде выводить в рублях, установил на modhost тестовую версию, не с первого раза но всё таки обновились курсы валют, ввожу цену в долларах, в поле price как и должно быть появляется цена в рублях по курсу. Но я так понял при смене курса цены не меняются? Вручную изменил курс — цены остались те же?
в настройках модуля указано, что нужно его автоматически обновлять?
https://prnt.sc/rm1onf
https://prnt.sc/rm1onf
Да joxi.ru/ZrJ9e5LcM74vxA
P.S Я имею ввиду изменение не курса, а цены товара при смене курса
P.S Я имею ввиду изменение не курса, а цены товара при смене курса
при изменение курса, цена меняется, когда включена эта опция
Цена уже созданных товаров? Я вручную меняю курс доллара например на 80 — цена товаров остаётся прежней
все должно пересчитываться даже если ты вручную меняешь курс валюты так что смотри лог modx и лог ошибок сервера. Ну и проверь что у тебя не закешировались данные товара
добрый день.
планируем использовать дополнение, чтобы в контексте с англ. версией сайта выводить цену в USD.
Используем msOptionPrice (для опций цвета, не для цен)
Есть вопросы:
1. Можем ли заводить вручную цены в USD и в рублях по-отдельности? я так понял, они будут связаны курсом?
Мы не хотим привязываться к курсу, сами все цены круглые проставим.
2. возможно, был опыт — через какую платежную систему можем брать оплату с карт в долларах?
и в них же получать потом на расчётный счет.
сейчас используется яндекс.касса, но они все равно транзакции только в рублях могут производить.
планируем использовать дополнение, чтобы в контексте с англ. версией сайта выводить цену в USD.
Используем msOptionPrice (для опций цвета, не для цен)
Есть вопросы:
1. Можем ли заводить вручную цены в USD и в рублях по-отдельности? я так понял, они будут связаны курсом?
Мы не хотим привязываться к курсу, сами все цены круглые проставим.
2. возможно, был опыт — через какую платежную систему можем брать оплату с карт в долларах?
и в них же получать потом на расчётный счет.
сейчас используется яндекс.касса, но они все равно транзакции только в рублях могут производить.
Можем ли заводить вручную цены в USD и в рублях по-отдельности? я так понял, они будут связаны курсом?Нет, но в новой версии возможно эта возможность будет
как скоро можно ожидать?
не раньше июня
добрый день!
очень ждем, готовы проспонсировать функцию
очень ждем, готовы проспонсировать функцию
Сергей, приветствую! Что-то у меня техподдержка на день раньше отключилась. Спасибо тебе огромное за помощь. По последнему вопросу с НП — да, совсем мимо задал… Но всё получилось!)
Возник еще момент странный. Пока доработка liqpay в процессе, снял в настройках «отображение корзины в валюте пользователя». Но вот что вышло — итоговая сумма, сумма за каждый товар показывается как надо — не переключаются, а «итого с доставкой» всё равно переключается вместе со сменой валюты.
Сайт — lovebythemoon.store
Возник еще момент странный. Пока доработка liqpay в процессе, снял в настройках «отображение корзины в валюте пользователя». Но вот что вышло — итоговая сумма, сумма за каждый товар показывается как надо — не переключаются, а «итого с доставкой» всё равно переключается вместе со сменой валюты.
Сайт — lovebythemoon.store
Hi, доступы к сайту актуальные? Если нет то сделай такие как были раньше я сегодня постараюсь посмотреть
Да, те же. Сумму вызывал как положено — без сниппета
в общим там в js файле msMultiCurrency остался код от старой версии я у тебя ее поправил
Здравствуйте! Добавлена ли совместимость с msOptionPrice?
Здравствуйте. Написали в техподдржку компонента ещё в пятницу, до сих пор ответа нет. Продублирую здесь, может кто то сталкивался и подскажет:
Далее обнаружил что в динамической корзине товар с ценой 4.74$ например (это пересчет по курсу от цены в рублях), пересчитывается, вернее показывает, при количестве 4 штук вот так:
4 x 4 = 18
Получается что пересчет идет: 4.74 умножает на 4, потом округляет 18.96 до 18. Но показывает округленную цену товара, равную 4. И получается неправильная арифметика.
Возможно кто то знает решение.
Спасибо.
Добрый день. Подскажите пожалуйста: Задаем цену товара 170$ и надо ее выводить именно так, однако видимо при пересчете получается 169.99 это при точности 2. Если ставим точность ноль, то выводит 169$. Получается округляет в меньшую сторону. Как то можно сделать чтобы округляло в большую сторону? Или же цена, которая задана (привязана к товару) выводилась именно такой, как задана? В данном случае 170$
На странице товара выводим так:
{'!msMultiCurrencyPrice' | snippet: [ 'price' => $_pls['price'], ]} {$_modx->getPlaceholder('msmc.symbol_right')}
Далее обнаружил что в динамической корзине товар с ценой 4.74$ например (это пересчет по курсу от цены в рублях), пересчитывается, вернее показывает, при количестве 4 штук вот так:
4 x 4 = 18
Получается что пересчет идет: 4.74 умножает на 4, потом округляет 18.96 до 18. Но показывает округленную цену товара, равную 4. И получается неправильная арифметика.
Возможно кто то знает решение.
Спасибо.
В техподдержке ответили: Нужно написать свой плагин для события msmcOnGetPrice в котором делать округление в нужную сторону. Будем пробовать
Опять возник вопрос, написали утром в поддержку, нет ответа, а время поджимает. Поэтому спрошу и здесь.
Каким образом правильно загружать компонентом msImportExport?
Сейчас загружая указываем id валюты, цену в валюте, всё это загружается и отображается в карточке товара в админке и там же перерасчитанная цена в рублях. А в категории в админке в списке товаров цены нулевые и на сайте также не отображаются. После пересохранения товара вручную начинают отображаться, пробовали программно пересохранять — ничего не меняется. В чем ошибка?
Каким образом правильно загружать компонентом msImportExport?
Сейчас загружая указываем id валюты, цену в валюте, всё это загружается и отображается в карточке товара в админке и там же перерасчитанная цена в рублях. А в категории в админке в списке товаров цены нулевые и на сайте также не отображаются. После пересохранения товара вручную начинают отображаться, пробовали программно пересохранять — ничего не меняется. В чем ошибка?
Здравствуйте. Создается новый магазин, еще не наполняли товарами. Хочется задать каждому товару стоимость в Евро, на фронтенде чтобы было отображение в Гривне.
При изменении курса, допустим с 33 грн до 34 грн за 1 евро, зайти в админку, изменить в одном поле 33 на 34 и получить пересчет всех цен.
Компонент готов к таким нечеловеческим нагрузкам?)
При изменении курса, допустим с 33 грн до 34 грн за 1 евро, зайти в админку, изменить в одном поле 33 на 34 и получить пересчет всех цен.
Компонент готов к таким нечеловеческим нагрузкам?)
Да, в карточки товар можно сделать привязку цены к нужной валюте после чего при изменении курса привязанной валюты будет автоматически пересчитывается цена товара к основной валюте
Курс валюты можно обновлять как вручную так и автоматически по крону
Курс валюты можно обновлять как вручную так и автоматически по крону
Курс 33, выставляю стоимость 11.8 евро, получаю стоимость 389.4 грн, задаю формат цен [0, ".", " "], получаю отображение цены 389 грн на фронтенде.
Но при заказе в CRM получаю стоимость 389.4 грн.
Как округлять правильно? Нужно чтобы и в CRM получать стоимость 389 грн.
Но при заказе в CRM получаю стоимость 389.4 грн.
Как округлять правильно? Нужно чтобы и в CRM получать стоимость 389 грн.
Как можно переключать валюту для polylang? При смене языка?
Тоже интересует данный вопрос, автор в личке пока молчит
Автор выпустил обновление с интеграцией, но пока не удалось решить задачу. Разбираемся.
Интеграция работает так: соответствующая валюта языку включается при первом входе на языковую версию сайта. Т.е. по умолчанию.
Но если затем переключить язык на сайте, то валюта не переключается.
Но если затем переключить язык на сайте, то валюта не переключается.
Обнови до последней версии msMultiCurrency и Polylang и создай плагин код которого приведен в доках Polylang в разделе msMultiCurrency
Добрый день. Тоже подключился к данной теме по просьбе) Дополнения последние msMultiCurrency и Polylang. У У ссылок класс polylang-toggle как и в trigger. Событие OnTogglePolylangLanguage для плагина из документации. Но переключение валюты при смене языка не происходит
Если не корректно считается стоимость доставки и версия miniShop2 < 2.9.*-pl то необходим обновить файл /core/components/minishop2/model/minishop2/msorderhandler.class.php на этот
Всем привет. Доставку в оформлении заказа неправильно считает, то есть не переводит в usd. Самое интересное, что сначала правильно считает, но потом срабатывают скрипты и цена меняется на неправильную. Может было у кого подобное?
www.youtube.com/watch?v=KBjx4Olh970
www.youtube.com/watch?v=KBjx4Olh970
Добрый день! Юань поддерживается?
Да, только его нужно будет добавить вручную joxi.ru/a2XN0EgCpQ7lMr
Я тут сайт пилил с несколькими контекстами. Контексты на разных доменах. Повесил плагин переключения контекстов на OnHandleRequest, контексты исправно переключались, но авторизация во втором контексте не работала. Причина тому плагин на событие OnMODXInit, в котором есть вот такой код
$msmc->makePlaceholders();
И в этой функции есть вызов метода switchContext(), который берет ключ контекста из сессии. Поскольку я не придумал как добавить ключ контекста в сессию на событие OnMODXInit, то просто сделал такcase 'OnMODXInit':
$msmc->extendMsOptionsPriceModel();
break;
case 'OnHandleRequest':
if ($ctx === 'mgr') return;
$msmc->makePlaceholders();
$key = $msmc->getSessionContextKey();
$_SESSION[$key] = $ctx;
break;
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.