Minishop2 - смена цены через ajax
Всем привет!
Подскажите, как можно менять цену с которой товар уходит в корзину через ajax?
На сайте надо сделать так чтобы цена товара складывалась из цент других(дочерних) товаров. С помощью связей в minishop2 и плагина это удалось решить.
Теперь стоит задача сделать так, чтобы при клике на "+" или "-" у дочерних товаров, цена у основного убавлялась или прибавлялась.
Как я понял, надо поменять значение цены основного товара в сессии, но как туда залезть не знаю. Хочу чтобы это дело работало через ajax. Что должно быть в обработчике?
Подскажите, как можно менять цену с которой товар уходит в корзину через ajax?
На сайте надо сделать так чтобы цена товара складывалась из цент других(дочерних) товаров. С помощью связей в minishop2 и плагина это удалось решить.
Теперь стоит задача сделать так, чтобы при клике на "+" или "-" у дочерних товаров, цена у основного убавлялась или прибавлялась.
Как я понял, надо поменять значение цены основного товара в сессии, но как туда залезть не знаю. Хочу чтобы это дело работало через ajax. Что должно быть в обработчике?
Поблагодарить автора
Отправить деньги
Комментарии: 1
Вроде разобрался.
Основная проблема это мое не знание minishop2 да и вообще много каких моментов.
Оказывается цену можно легко менять, с помощью вызова события методом:
Теперь нужно чтобы по вызову события происходили какие-то действия, в моем случае изменение цены.
Добавляем плагин на это событие:
Основная проблема это мое не знание minishop2 да и вообще много каких моментов.
Оказывается цену можно легко менять, с помощью вызова события методом:
$response = $minishop2->invokeEvent('msOnGetProductPrice', $params);
Пользователь кликает на "+" или "-", посылая ajax запрос на обработчик, который вызывает событие. Теперь нужно чтобы по вызову события происходили какие-то действия, в моем случае изменение цены.
Добавляем плагин на это событие:
<?php
if ($modx->event->name = 'msOnGetProductPrice') {
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$values = & $modx->event->returnedValues;
$values['price'] = $_SESSION['new_price'];
} else {
// тут действия которые должны происходить не через ajax
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.