В моей корзине 3 кнопки. Один для приглашения, другой для продолжения покупок и третий для оформления заказа. Мне нужно проверить, какую кнопку я нажал в своем наблюдателе. Поэтому я использовал сессию, чтобы справиться с этим. Вот мой код сценария:
<script>
jQuery(document).ready(function () {
jQuery("#invite-member-btn").click(function (e) {
e.preventDefault();
if(jQuery(".qty").val()!= jQuery(".qty").data("org-qty")){
jQuery("#toast-cart").addClass("active");
}
else{
<?php $session = Mage::getSingleton("checkout/session");
$session->unsetData("purchase_mode_multiple_purchase");
$session->setData("purchase_mode_multiple_purchase", 1);?>
<?php //Mage::register('purchase_mode_multiple_purchase', true);?>
jQuery("#toast-cart").removeClass("active");
jQuery('#invite-member-btn').attr("disabled", true);
jQuery("#brochureform").submit();
}
})
jQuery("#btn-proceed-checkout").click(function(e){
e.preventDefault();
if(jQuery(".qty").val()!= jQuery(".qty").data("org-qty")){
jQuery("#toast-cart").addClass("active");
}
else{
<?php $session = Mage::getSingleton("checkout/session");
$session->unsetData("purchase_mode_multiple_purchase");
$session->setData("purchase_mode_multiple_purchase", 0); ?>
jQuery("#toast-cart").removeClass("active");
jQuery('#btn-proceed-checkout').attr("disabled", true);
jQuery("#brochureform").attr("action","<?php echo $this->getUrl('checkout/onepage/'); ?>");
jQuery("#brochureform").submit()
}
});
jQuery("#continue-shopping-btn").click(function(e){
e.preventDefault();
if(jQuery(".qty").val()!= jQuery(".qty").data("org-qty")){
jQuery("#toast-cart").addClass("active");
}
else{
<?php //Mage::register('purchase_mode_multiple_purchase', true);?>
<?php $session = Mage::getSingleton("checkout/session");
$session->unsetData("purchase_mode_multiple_purchase");
$session->setData("purchase_mode_multiple_purchase", 2);?>
jQuery("#toast-cart").removeClass("active");
jQuery('#btn-proceed-checkout').attr("disabled", true);
jQuery("#brochureform").attr("action","<?php echo $this->getUrl(); ?>");
jQuery("#brochureform").submit()
}
});
});
</script>
Но здесь переменная сеанса всегда возвращает значение 2 из последнего события нажатия кнопки. Если я нажму другую кнопку, событие нажатия будет запущено, но сессия всегда устанавливается с момента последнего нажатия