Joomla 1.5 VM 1.1.4 - как удалить товар из корзины при помощи AJAX-запроса?

Тема в разделе "Модернизация расширений", создана пользователем SindBAD, 26.06.2010.

  1. Offline

    SindBAD Недавно здесь

    Регистрация:
    09.06.2009
    Сообщения:
    100
    Симпатии:
    6
    Пол:
    Мужской
    Всем привет!
    Подскажите, как удалить товар из корзины? Написал такой скрипт:
    Код (PHP):
    1. <?php
    2. session_start();
    3. $product_id=$_GET['id'];
    4. if($_SESSION['cart']&&sizeof($_SESSION['cart'])>0){
    5.     foreach($_SESSION['cart'] as $key=>$val){
    6.         if($val['product_id']==$product_id){
    7.             unset($_SESSION['cart'][$key]);
    8.         }
    9.     }
    10. }
    11. str_replace(var_dump($_SESSION['cart']));
    12. ?>

    Но товар он почему-то не удаляет и выводит NULL. Значит, текущие данные корзины хранятся не только в сессии (или не только в подмассиве cart)?
    Подскажите, пожалуйста, как быть
     
  2.  
  3. Offline

    SindBAD Недавно здесь

    Регистрация:
    09.06.2009
    Сообщения:
    100
    Симпатии:
    6
    Пол:
    Мужской
    И так, делюсь полученным опытом.
    Код (PHP):
    1. function productDelete(product_id){
    2.     //функция обратного вызова
    3.     var callback = function(responseText){
    4.         //здесь выполняем команды, которые должны сработать сразу после удаления
    5.         updateMiniCarts(); //например, обновляем мини-корзину
    6.     }
    7.     var opt = {
    8.         method: 'post',  //передаем команду методом POST
    9.         onComplete: callback,  //функция обратного вызова, сработает после выполнения команды
    10.         data: { //передаем следующие параметры:
    11.             only_page:1, //пока не очень пониял назначение этой переменной
    12.             page: "shop.basket_short", //это инструкция, какую страницу нужно вернуть, здесь - не работает.
    13.             option: "com_virtuemart", //это вроде всем понятно
    14.             func: "cartDelete", //ВНИМАНИЕ - вот это и есть команда, которая удалит продукт из корзины
    15.             product_id: product_id //А ЭТО - ID продукта, который требуется удалить.
    16.         }
    17.     }
    18.     new Ajax( '/index2.php', opt ).request(); //отправляем запрос. Всё!
    19. }

    Осталось лишь создать около товара кнопку, и в ней вызвать эту функцию по клику.
     
    Последнее редактирование: 02.07.2010

Поделиться этой страницей

Загрузка...