Добавление подарочного товара в корзину при достижении определенной суммы заказа.
Добрый день!
Есть такая задача:
При достижении суммы заказа более 7000 руб. автоматически добавлять подарочный товар с id = 488 в корзину.
Одна известная нейросеть помогла с таким скриптом на ajax который считает, на какую сумму осталось добавить товаров, чтобы получить подарок.
Вывод суммы заказа:
Вывод блока с подсказкой на какую сумму осталось добавить товаров:
Скрипт который это обрабатывает:
Мне нужна помощь в этом скрипте. Как доработать скрипт, чтобы он добавлял товар с id = 488 в корзину? У кого есть опыт с таким, поделитесь пожалуйста.
Есть такая задача:
При достижении суммы заказа более 7000 руб. автоматически добавлять подарочный товар с id = 488 в корзину.
Вывод суммы заказа:
<p>Итого <span class="ms2_total_cost">{$total.cost}</span></p>
Вывод блока с подсказкой на какую сумму осталось добавить товаров:
<div class="cart-more">
<p>Добавьте ещё на <span class="gift"></span> руб. и получите подарок</p>
</div>
Скрипт который это обрабатывает:
<script>
$(document).ready(function(){
var totalCost = Number($(".ms2_total_cost").text().replace(/\s/g, ''));
var giftCost = 7000 - totalCost;
$(".gift").text(giftCost);
$(".ms2_total_cost").bind("DOMSubtreeModified", function(){
var updatedCost = Number($(".ms2_total_cost").text().replace(/\s/g, ''));
var updatedGiftCost = 7000 - updatedCost;
if (updatedGiftCost <= 0) {
$(".cart-more").hide();
// СЮДА НАДО ДОБАВИТЬ КОД КОТОРЫЙ ДОБАВИТ ТОВАР С ID = 488 В КОРЗИНУ
} else {
$(".cart-more").show();
}
$(".gift").text(updatedGiftCost);
});
});
</script>
Мне нужна помощь в этом скрипте. Как доработать скрипт, чтобы он добавлял товар с id = 488 в корзину? У кого есть опыт с таким, поделитесь пожалуйста.
Поблагодарить автора
Отправить деньги
Комментарии: 9
Что то типа такого нужно:
Либо как вариант использовать дополнение для управления подарками — msGiftCart
set id = 488; // тут id товара
$.ajax({
type: "POST",
url: "[[++site_url]]assets/components/minishop2/action.php",
data: "id=" + id + "&count=1&options=[]&ms2_action=cart/add&ctx=web",
success: function(msg) {
alert('товар добавлен в корзину');
}
});
Либо как вариант использовать дополнение для управления подарками — msGiftCart
Спасибо, попробую ваш скрипт.
msGiftCart с последним минишопом конфликтует, там никак не пофиксят.
msGiftCart с последним минишопом конфликтует, там никак не пофиксят.
Ужас ))
Правильнее плагином это делать внутри MODX.
Правильнее плагином это делать внутри MODX.
Николай, направь пожалуйста на правильный путь, где может примеры есть? Или что-то подобное.
Хочется разобраться самому с такой задачей. Я понимаю что наверное тут с самого начала уже подход не верный у меня.
Хочется разобраться самому с такой задачей. Я понимаю что наверное тут с самого начала уже подход не верный у меня.
Навскидку, без реального кейса под рукой.
Я бы написал плагин на событие msOnGetOrderCost
Схема плагина будет вот такого примерно вида
Я бы написал плагин на событие msOnGetOrderCost
Схема плагина будет вот такого примерно вида
if ($cost < 7000) {return true;}
// тут проверяю состав корзины, не лежит ли уже подарок там
$cartArr = $cart->get();
foreach($cartArr as $row) {
// Если уже есть подарок выходим
return true;
}
// если дошли сюда пора добавлять подарок
$cart->add($id);
Направление уловил. Спасибо. Пошел изобретать.
Донатик на развитие miniShop2 сейчас закину.
Донатик на развитие miniShop2 сейчас закину.
Ну за донатик я тебе прям готовый код напишу ))
Я скинул немножко, попробовать самому хочется. Результат сюда скину.
Если не получится, то за больший донатик напишу тебе, за помощью))))
Если не получится, то за больший донатик напишу тебе, за помощью))))
По рукам, мой контакт у тебя есть, не стесняйся
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.