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

reload определенного div'a с в fancybox modal


Recommended Posts

Ребята, все привет. Нужна помощь. Сделал карточку товара в модальном окне используя fancybox. Сейчас делаю функцию добавления товара в корзину и обновления этой корзины из карточки товара в модальном окне. Суть такая: если товара в корзине нет, то при клике на кнопку "В корзину" - товар в количестве 1 штука падает в корзину и вместо кнопки "В корзину" появляется форма +/- для изменения количества товара в корзине из самой карточки. Фишка - если минусую количество до нуля - то +/- заменяется на кнопку "В корзину".

 

На страницах категорий я это успешно реализовал. Итак, что делаю конкретно в товаре, по такому же принципу сделал и в категориях:

 

Сама форма с заменой кнопки "В корзину" выглядит так:

 

<div id="reloadprod">
 
    <?php if (($quantity_in_cart)>0) { ?>
     <?php $style= 'display:block'; ?>
     <?php $style2 = 'display:none'; ?>
      <?php } else { ?>
       <?php $style= 'display:none'; ?>
       <?php $style2 = 'visibility: visible;'; ?>
      <?php } ?>
<div class="cart-item__quantity" id="quant" style="<?php echo $style; ?>">
                                        <div class="quantity">
                                         <?php if ($weight_class == 'шт') { ?>
                                            <button class="quantity__controller quantity-minus1" type="button" onclick="updateCart2('<?php echo $product_id; ?>', '<?php echo $key; ?>', '-')">−</button>
                                              <?php } else { ?>
                                                  <button class="quantity__controller quantity-minus1" type="button" onclick="updateCart2('<?php echo $product_id; ?>', '<?php echo $key; ?>', '1')">−</button>
                                                <?php } ?>
                                                <input class="quantity__value" type="text" id="quantida<?php echo $product_id; ?>" name="prod<?php echo $key; ?>" size="3" value="<?php echo $quantity_in_cart; ?> <?php echo $weight_class; ?>" onchange="updateCart2('<?php echo $product_id; ?>', '<?php echo $key; ?>')"/>
                                           <?php if ($weight_class == 'шт') { ?>
                                            <button class="quantity__controller quantity-plus1" type="button" onclick="updateCart2('<?php echo $product_id; ?>', '<?php echo $key; ?>', '+')">+</button>
                                              <?php } else { ?>
                                              
                                          <button class="quantity__controller quantity-plus1" type="button" onclick="updateCart2('<?php echo $product_id; ?>', '<?php echo $key; ?>', '2')">+</button>    
                                              <?php } ?>
                                        </div>
</div>

<button type="button" onclick="addTocart('<?php echo $product_id; ?>');" id="button-cart" style="<?php echo $style2; ?>" data-loading-text="<?php echo $text_loading; ?>" class="add-to-basket button button--primary"><svg class="icon"><use xlink:href="#cart"></use></svg> В корзину</button>
 </div>  

 

Далее в json success для функции addtocart:

if (json['success']) {
$('#cart-total').html(json['countProducts']);
                      $('#cart-total').html('<span>' + json['total'] + '</span>');
                    $('.total2').html(json['countProducts']);
                 $('.total2').html('<span>' + json['total'] + '</span>');                    
                    $('.slide-cart').load('index.php?route=extension/module/popupcart .slide-cart > *');
                   document.getElementById('quant').style.display = "block";
                   document.getElementById('button-cart').style.display = "none";

                  $('#reload'+product_id+'').load(' #reload'+product_id+'');    // === тут я налету обновляю блоки с аналогичной кнопкой корзины и -+ на страницах категорий, поиска и тд, чтобы при закрытии окна с товаром на страницах категории оставался блок с количеством товара в корзине ===//
                   $('#reloadprod').load(' #reloadprod');  // ====  А вот тут я делаю перезагрузку блока на самой странице товара в модалке фэнси - и как раз тут у меня получается косяк. блок не релоудится, точнее я получаю  пустой <div id="reloadprod"></div> - хотя должен получить блок +/- с ключом корзины, чтобы работало добавление плюсом и удаление из корзины минусом. Такая конструкция работает везде, кроме модального окна fancy. Грешу на то, что рефреш в модальном окне фэнси не работает должным образом. Очень прошу помочь как сделать релоуд конкретно этого div в модальном окне. ===//

 


                   

 

 

 

 

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


Разобрался)))

 

Всем спасибо, тему можно закрыть.

 

Чтобы работал нормально релоуд, надо указывать текущую ссылку на страницу товара. В моем случае это:

 

 $('#reloadprod').load('/index.php?route=extension/module/prodinpop&product_id=' + product_id +' #reloadprod >*');

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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