Изменить цену товара в момент оформления заказа
При заходе на сайт добавляется в корзину товар (id:3) пустышка, вот так:
Каким образом указать цену товару из total_price с фронтэнда? Нашел документацию только по плагинам и тд.
$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 с фронтэнда? Нашел документацию только по плагинам и тд.
Комментарии: 2
Так может стоит поменять последовательность действий? Сначала выбирает а потом с нужной ценой добавляется товар? Но эт все как то стремно — стоимость с фронта… По хорошему у вас стоимость услуг должна изначальна забита в базе -> по ней выводите услуги -> потом при выборе услуг пробегаетесь по данным и стоимоть получаете, но получаете ее по данным из базы а не с фронта сайта…
А в вашем случае самое простое это тупо в сессии найти нужный товар и поменять ему стоимость.
То есть что то вроде:
А в вашем случае самое простое это тупо в сессии найти нужный товар и поменять ему стоимость.
То есть что то вроде:
$cart = & $_SESSION['minishop2']['cart'];
foreach ($cart as $v) {
if ($v['id'] == 3) {
$v['price'] = 'своя цена';
}
}
там минишоп нужен только для принятия оплаты, товары слишком геморно забивать через опции, сделал на основе modextra.
сунул и в него пишу ценник, при отправке проверяю значение.
в msorderhandler $cost = $_POST['total_price'];
сунул и в него пишу ценник, при отправке проверяю значение.
в msorderhandler $cost = $_POST['total_price'];
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.