Изменить цену товара в момент оформления заказа

При заходе на сайт добавляется в корзину товар (id:3) пустышка, вот так:

$miniShop2 = $modx->getService('minishop2','miniShop2',
	MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties);
if (!($miniShop2 instanceof miniShop2)) return '';
$miniShop2->initialize($modx->context->key, $scriptProperties);
$miniShop2->cart->clean();
$miniShop2->cart->add(3);
Далее пользователь заполняет форму (jquery), после чего получает ценник (динамический) var total_price.

Каким образом указать цену товару из total_price с фронтэнда? Нашел документацию только по плагинам и тд.
but1head
07 мая 2015, 22:59
modx.pro
1
2 438
0

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

Володя
08 мая 2015, 08:39
0
Так может стоит поменять последовательность действий? Сначала выбирает а потом с нужной ценой добавляется товар? Но эт все как то стремно — стоимость с фронта… По хорошему у вас стоимость услуг должна изначальна забита в базе -> по ней выводите услуги -> потом при выборе услуг пробегаетесь по данным и стоимоть получаете, но получаете ее по данным из базы а не с фронта сайта…

А в вашем случае самое простое это тупо в сессии найти нужный товар и поменять ему стоимость.
То есть что то вроде:
$cart  = & $_SESSION['minishop2']['cart'];
foreach ($cart as $v) {
	if ($v['id'] == 3) {
		$v['price'] = 'своя цена'; 
	}
}
    but1head
    08 мая 2015, 09:49
    0
    там минишоп нужен только для принятия оплаты, товары слишком геморно забивать через опции, сделал на основе modextra.

    сунул и в него пишу ценник, при отправке проверяю значение.
    в msorderhandler $cost = $_POST['total_price'];
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2