Последние темы


shopkeeper 3 ajax Всплывающее окно корзины с товаром не открывает

  • Modx revo Подскажите, Есть сайт, на нем настроен shopkeeper 3, проблема заключается в том что при добавлении товара в корзину ( а у корзины где ведётся подсчет и сумма, имеется всплывающее окно с более подробной информацией о товаре (shopCartRow_small) ). При добавлении в корзину все работает идеально, подсчет и тд, но ajax обновление сбивает открытие всплывающего окна и просто перекидывает на главную название сайта.by/#
    Как можно решить данную проблему ?

    чанк shopCart_small
    <a class="cart-link" href="#" data-shopcart="1">
    <span class="text">Корзина</span>
    <div class="mini-cart-wr" >
    <div class="mini-cart-bl">
    <span class="ms2_total_count">0</span>
    </div>
    </div>
    </a>
    <div class="js-goods"><div class="ddown-bl" style="display: none;">
    <div id="miniCart">
    <p style="text-align: center;padding: 10px;font-size: 18px;">Корзина пуста</p>
    <div class="footer clearfix">
    <div class="grid-60 grid-parent all-price">
    <strong>Итого:</strong>
    <strong class="ms2_total_cost">0.00 <small>руб.</small></strong>
    </div>
    <a class="grid-40 grid-parent pr-check" style="text-decoration: line-through;">оформить</a>
    </div>
    </div>
    </div></div>
    <!--tpl_separator-->
    <a class="cart-link" href="#" data-shopcart="1">
    <span class="text">Корзина</span>
    <div class="mini-cart-wr" >
    <div class="mini-cart-bl">
    <span class="ms2_total_count">[[+items_total]]</span>
    </div>
    </div>
    </a>
    <!-- Всплывающее окно -->
    <div class="js-goods"><div class="ddown-bl" style="display: none;">
    <div id="miniCart">
    [[+inner]]
    <div class="footer clearfix">
    <div class="grid-60 grid-parent all-price">
    <strong>Итого:</strong>
    <strong class="ms2_total_cost">[[+price_total]] <small>[[+shk_currency]]</small></strong>
    </div>
    <a class="grid-40 grid-parent pr-check" href="[[~29]]">оформить</a>
    </div>
    </div>
    </div>
    </div>

    Чанк shopCartRow_full
    <div class="cart-product">
    <div class="cart-product-header clearfix">
    <div class="grid-45 grid-parent"><a href="[[+url]]">[[+name]]</a></div>
    <div class="grid-15 hide-on-tablet hide-on-mobile">количество</div>
    <div class="grid-15 hide-on-tablet hide-on-mobile">за единицу</div>
    <div class="grid-15 hide-on-tablet hide-on-mobile">всего</div>
    </div>
    <div class="cart-product-wr clearfix">
    <div class="grid-45 tablet-grid-33 image"><img src="[[phpThumbOn? &input=inc/images/[[+images]] &options=w=120&h=81&zc=1]]"></div>
    <div class="grid-15 tablet-grid-33 count">
    <form method="post" class="ms2_form form-inline" role="form">
    <input class="shk-count input-sm form-control-1" type="text" size="2" name="count[]" maxlength="4" title="изменить количество" value="[[+count]]" />
      <small>шт.</small>
    </form>
    </div>
    <div class="grid-15 price item-1"><span>[[+price:num_format]] </span> [[+shk_currency]] </div>
    <div class="grid-15 hide-on-tablet hide-on-mobile all-price all-p-item-1"><span> [[+price_count_total:num_format]] </span> [[+shk_currency]]</div>
    <div class="grid-15 remove">
    <form method="post" class="ms2_form">
    <a title="Удалить" href="[[+url_del_item]]" class="shk-del"></a>
    </form>
    </div>
    </div>
    </div>

  • ms_total_count это точно с shk3? Если перебрасывает сразу на главную страницу после добавления товара в корзину, значит стоит в настройках что сразу открывать страницу оформления заказа (по умолчанию 1) тоисть главная, идеш сгиппеты>shopkeeper3>вкладка параметры(вроде) и там в настройках читаеш сами параметры а в докуентации их роли.

  • goToOrderFormPage - скорее всего у тебя стоит да.

  • http://unit1.olden-web.by/
    ajax обновление сбивает открытие всплывающего окна и просто перекидывает на главную

  • После добавления в корзину товара, вверху по нажатию на корзину не открывает всплывающее окно cartRowTpl - шаблон строки корзины
    Как можно исправить подскажите

  • <a class="cart-link" href="#" data-shopcart="1"> вот твоя проблема - " href="#" " ты тыкаеш на ссылку и она отправляет тебя на главную, соответственно row tpl (которыху тебя почемуто аж два одновременно появляется) не успевает сработать, поскольку ты переходиш по ссылке. сделай его дивом и будет тебе щастье, а если ты хотел курсор ручкой то cursor: pointer; тебе в помощ

  • Обернул в див, так ? а толк

    <div data-shopcart="1">
                  <a class="cart-link" href="#">
                    <span class="text">Корзина</span>
                    <div class="mini-cart-wr" >
                        <div class="mini-cart-bl">
                            <span class="ms2_total_count">[[+items_total]]</span>
                        </div>
    
                    </div>
                </a>  
    
     <div class="js-goods"><div class="ddown-bl" style="display: none;">
                    <div id="miniCart">
    [[+inner]]
    
                        <div class="footer clearfix">
                            <div class="grid-60 grid-parent all-price">
                                <strong>Итого:</strong>
                                <strong class="ms2_total_cost">[[+price_total]] <small>[[+shk_currency]]</small></strong>
                            </div>
                            <a class="grid-40 grid-parent pr-check" href="[[~29]]">оформить</a>
                        </div>
                    </div>
                </div></div> 
    </div>
    
  • Участник @doa2030 написал в shopkeeper 3 ajax Всплывающее окно корзины с товаром не открывает:

    После добавления в корзину товара, вверху по нажатию на корзину не открывает всплывающее окно cartRowTpl - шаблон строки корзины
    Как можно исправить подскажите

    Прочитай для начала про обновление DOM элемента, там есть евент DOMSubtreeModified
    Обработчик твой нем может найти обьект, т.к. он динамически изменился!
    Вот тебе пример:

    /*Отследить событие  изменение содержимого в DOM у класса div.header_new_data_cart*/
            $(".header_new_data_cart").on('DOMSubtreeModified', function () { 
                var dataBlock = $(this);
                console.log(dataBlock);//А тут у каждого своя фантазия
            });
    
  • Пожалуйста более конкретно если не трудно)
    Код запуска) Спасибо)

    $(".cart-link").click(function(e) {
    		e.preventDefault();
    		$(".ddown-bl").slideToggle('fast');
    		$(this).parent().toggleClass('active');
    		$(this).parents().siblings().removeClass('active').find(".ddown-bl").hide();
    	});
    
  • @doa2030

    /*Отследить событие  изменение содержимого в DOM у класса div.cart-link*/
            $(".cart-link").on('DOMSubtreeModified', function () { 
                $(this).click(function(e) {
    		e.preventDefault();
    		$(".ddown-bl").slideToggle('fast');
    		$(this).parent().toggleClass('active');
    		$(this).parents().siblings().removeClass('active').find(".ddown-bl").hide();
    	   });
            });
    
  • Толку нет чего то, стары код пробовал убирать, так не открывает вообще, пробовал вместе -тоже нет толку, в чанке shopcart обертку див ставил убирал.

  • @doa2030 на, проверил у тебя на сайте все пашет, при обновлении корзины DOM обновляет div..mini-cart-bl-wr смотри скрин.0_1504943454359_cart.png

    /*Отследить событие  изменение содержимого в DOM у класса div.cart-link*/
    $(".mini-cart-bl-wr").on('DOMSubtreeModified', function () { 
    		$('.cart-link').click(function(e) {
    		e.preventDefault();
    		$(".ddown-bl").slideToggle('fast');
    		$(this).parent().toggleClass('active');
    		$(this).parents().siblings().removeClass('active').find(".ddown-bl").hide();
    	});
    });
    
  • Большое спасибо.

  • А не подскажите в Mozila Firefox зацикливает из за скрипта и прыгает туда сюда. Остальные браузеры нормально работают

 

Последние комментарии

  • G

    Отличная новость, Андрей, спасибо!
    Наконец-то настроил окружение для разработки SHK4 в винде через Vagrant, все работает достаточно шустро, глюков замечено не было. В скором времени планирую сделать свою инструкцию на эту тему, думаю будет полезна для начинающих.

    У меня вопрос - я далеко не искушенный пользователь git, для разработки магазина тупо создал форк с вашего репозитория shopkeeper4 v4.0.0, все коммиты и изменения заливаю в свой репо. Есть какая-то возможность отслеживать изменения в вашем репозитории и вносить в мой? Например, я бы хотел обновлять какие-то php файлы, но не трогать шаблоны *twig.

    Читать далее
  • редактироваться могут и старые. опубликованные, ресурсы, не хотелось бы чтобы к ним приписались дубли id

    В коде плагина можно всё учесть, а не всегда добавлять ID без проверок.

    Читать далее
  • L

    @Andchir редактироваться могут и старые. опубликованные, ресурсы, не хотелось бы чтобы к ним приписались дубли id. Есть событие OnDocPublished но по-моему оно не срабатывает...

    Читать далее
  • В принципе ресурс импортируется неопубликованным и потом публикуется вручную

    Есть событие редактирования ресурса, можно привязаться к этому событию.

    Читать далее