Перейти к содержанию
reeditor

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

Рекомендуемые сообщения

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

<?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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.