Модификация цены minishop2

Здравствуйте, появился такой вопрос, как лучше сделать модификацию цены?
Задача стоит такая пользователь вводит цену в евро, и вводит курс валюты, на выходе должны выводиться везде конвертированные цены, если статические элементы менять то все просто, либо с помощью модификатора [[+price:mpy=`[[++convert_price]]`]], либо простейшим снипетом умножения
где берется значение цены и умножается на значение курса. А как сделать так что бы и фильтровало по новым ценам и в корзине тоже нормально отображались цены. направьте куда копать. Спасибо заранее.
Fedor
28 декабря 2016, 06:30
2
862
0

Комментарии: 5

    Fedor
    28 декабря 2016, 12:36
    0
    Да спасибо, это решает кое- какие проблемы, но остается вопрос с фильтрами. ну и общая стоимость в корзине не меняется.(
      Владислав
      28 декабря 2016, 12:49
      0
      нужно создать плагин в котором при добавлению в корзину цена будет меняться на нужную
Andrei D.
28 декабря 2016, 14:00
0

для корзины

плагин на msOnBeforeChangeInCart
<?php
$tmp = $cart->get();
$price = intval(str_replace(' ', '', $_POST['user_price']));
$rate = 1;//default rate
$rate = intval(str_replace(' ', '', $_POST['currency_rate']));

if ($rate == 1) {
	$rate_value = '1';//EURO
}
if ($rate == 2) {
	$rate_value = '1.043673';//US Dollar
}
if ($rate == 3) {
	$rate_value = '0.853115';//British Pound
}
if ($rate == 4) {
	$rate_value = '1.073258';//Swiss Franc
}
if ($rate == 5) {
	$rate_value = '63.246377';//Russian Ruble
}

if ($rate) {
	$tmp[$key]['price'] = round(($price * $rate_value), 2, PHP_ROUND_HALF_UP);
}

$cart->set($tmp);

header
<script type="text/javascript">
$(document).on('change', 'input[name=user_price]', function() {
$(this).closest(miniShop2.form).submit();
//miniShop2.Message.success('Стоимость изменена');
});

$(document).on('change', 'select[name=currency_rate]', function() {
$(this).closest(miniShop2.form).submit();
//miniShop2.Message.success('Стоимость изменена');
});
</script>

tpl msCart
<input type="text" name="user_price"/>

<select name="currency_rate">
<option value="1">EURO</option>
<option value="2">US Dollar</option>
<option value="3">British Pound</option>
<option value="4">Swiss Franc</option>
<option value="5">Russian Ruble</option>
</select>
рейты взял отсюда www.x-rates.com/table/?from=EUR&amount=1
    Fedor
    28 декабря 2016, 15:54
    0
    спасибо) буду пробовать.