Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Почему товар не добавляется в корзину?


Recommended Posts

Здравствуйте. Вывел опции в категориях:

<?php if ($options) { ?>
        <?php foreach ($options as $option) { ?>
        <?php if ($option['type'] == 'select') { ?>
           <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <select class="extended" name="option[<?php echo $option['product_option_id']; ?>]">
            <option value=""><?php echo $text_select; ?></option>
            <?php foreach ($option['option_value'] as $option_value) { ?>
            <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?></option>
            <?php } ?>
          </select>
        </div>
        <?php } ?>
         <?php } ?>
          <?php } ?>

Теперь стоит задача добавлять их в корзину по нажатию на кнопку купить. Для этого повесил событие на кнопку купить:

<input type="button" value="<?php echo $button_cart; ?>" onclick="addOption('<?php echo $product['product_id']; ?>');" class="button" /> 

И добавил вот такой скрипт:

 function addOption(product_id) {
   data = $('#option_'+product_id+' input[type=\'text\'], #option_'+product_id+' input[type=\'radio\']:checked, #option_'+product_id+' input[type=\'checkbox\']:checked, #option_'+product_id+' select, #option_'+product_id+' textarea');
    $.ajax({
     url: 'index.php?route=checkout/cart/add',
     type: 'post',
     data: data.serialize() + '&product_id=' + product_id,
     dataType: 'json',

     success: function(json) {
      $('.success, .warning, .attention, information, .error').remove();                  
            if (json['error']) {
            if (json['error']['warning']) {
            $('#notification').html('<div class="warning" style="display: none;">' + json['error']['warning'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');                                                                             
            $('.warning').fadeIn('slow');
            }
                                                                                
      for (i in json['error']) {
            $('#option-' + i).after('<span class="error">' + json['error'][i] + '</span>');
       }
      }        
                                                                                            
      if (json['success']) {
         $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                                        
      $('.success').fadeIn('slow');
                                        
      $('#cart-total').html(json['total']);
                                
      $('html, body').animate({ scrollTop: 0 }, 'slow'); 
                                                                        }       
                                                                }
                                                });

И вроде все данные отсылаются, консоль отдает HTTP/1.1 200 OK, но корзина так и остается пустой. Где копать?

Надіслати
Поділитися на інших сайтах


нет блока для селектора: #option_'+product_id+'

Тоесть, добавьте выше вашего добавленного кода, ещё рамку типа:

<div id="option_<?php echo $product['product_id']; ?>"

Надіслати
Поділитися на інших сайтах

Спасибо, добавил блок, но ничего не изменилось. Бьюсь уже третий день, чертовщина какая-то непонятная. Самое интересное, что консоль молчит вообще.

Надіслати
Поділитися на інших сайтах


Напишите в ЛС или в скайп - подсоблю с решением, желательно уже с завтрашнего утречка, а то сегодня пивко по организму...

Надіслати
Поділитися на інших сайтах

Ребят, всем спасибо за помощь, после плясок с бубном заработало само. Ошибку так и не отловил, но подозреваю, что виновато неправильное подключение опций в контроллере, в результате чего скрипту не передавались необходимые параметры.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.