Вход • Регистрация

Проверка содержимого корзины перед добавлением в нее товара

  • 16 сентября 2017 г.
  • Всем привет!

    Задача в следующем - нужно реализовать в магазине акцию 1+1=3. При добавлении в корзину товара нужно проверить товары в ней - посчитать количество, посмотреть хар-ки, и в зависимости от них добавить товар по обычной цене, или по акции - бесплатно.
    Как вижу реализацию - в обработчике клика по кнопке купить получить содержимое корзины через JS, проверить условия, и в зависимости от них изменить значение характеристики, влияющей на цену, которая лежит в скрытом поле. (скрытое поле добавляется только по клику на кнопку купить также через JS). Основной вопрос в том, как посредством JS получить содержимое корзины с ID и количеством каждой позиции. Через PHP как получить вроде понятно из доков, думал через AJAX-запрос обратить к PHP скрипту и получить нужную инфу, но не совсем пониманию как этот скрипт впилить в окружение DIAFAN, чтобы ему было все известно
    • 18 сентября 2017 г.
    • Что то типо этого

      Код
      $.ajax({
      url: window.location.href,
      type: 'POST',
      dataType: 'json',
      data:{
      module: 'shop',
      action: 'shop_load_rel',
      id_shop_product: id_shop_product
      },
      success: function(response){
      var data_rel = prepare(response.data);
      if(data_rel != ''){
      $('.block_shop_list_cart_right').css({'position':'absolute','opacity':'0'});
      $('.wrap_block_shop_list_cart').append('<div class="block_shop_list_cart_rel"><h2>Сопутствующие товары</h2>' + data_rel + '</div>');
      }
      }
      });
    • 20 сентября 2017 г.
    • На любую страницу сайта можете посылать ajax запрос с данными module: 'имя модуля' и action: 'название "действия" функции которая отработает' ну и дополнительные данные. А обработчик будет у вас в папке с модулем: названиемодуля.action.php, но так же данную самописную функцию нужно описать в контроллере модуля (названиемодуля.php в папке с модулем) в функции public function action()...

      Кстати если не ошибаюсь, вам проще уже на стадии оформления заказа, отдублировать товар и задать ему цену "0" т.к. в таблице с оформленными заказами (shop_order и shop_order_goods )записывается финальная цена без ссылок на таблицу shop_price

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум