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


Пользовательский способ прибавления количества товара

  • Здравствуйте! Необходимо сделать прибавление количества товара не по 1, а по определенному числу, находящемуся в ТВхе. Например, продажа товара, который продается пачками! Цена указывается за 1 шт, а всего 32шт в пачке, т.е. когда мы нажимаем "в корзину", появляется хелпер и там количество (input-count) должно быть 32, а не 1 как по умолчанию! И когда мы нажимаем + т.е. прибавить количество то прибавляться должно на 32 т.е. 32 -> 64 -> 98 и т.д. При этом товары разные и количество штук в пачках разное - 32, 9, 100 и др., а это количество штук в пачке хранится в ТВхе, ну скажем quantity. Подскажите, пожалуйста, как это реализовать.
    Я начал с того, что добавил в чанк sendtobasketinlist скрытый Input:
    <input type="hidden" name="shk-quant" value="[[+tv.quantity]]">
    Далее я полез в assets/components/shopkeeper3/web/js/shopkeeper.js, нашел там метод прибавления товара - setCounterToField, далее пытался сделать, чтобы в if( ii == 1 ) el.val( cnt + 1 ); вместо 1 подставлялось число из скрытого input, но проблема возникла с идентифицированием скрытого input у конкретного товара, ведь их на странице как минимум 12.
    В целом, я знаком с основами JSовского ООП, но опыта мало, чтобы быстро разобраться в чужом коде! Надеюсь на Вашу помощь!

  • Например, можно использовать jQuery UI Spinner

    https://jsfiddle.net/6v0d4zb7/

    Хелпер можно отключить.

 

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

  • Так же Вы забыли указать, что это какая-то древняя версия Шопкипера для MODX Evo, которая не поддерживается автором. Думаю, лучше Вам спросить на каком-то ресурсе, который ориентирован на Evolution.

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

    Да забыл сказать что содержимое корзины находится в выпадающем окне.
    Так же есть проблема в том что подобное меню типа 'helper' при удалении или очистке корзины появляется сзади выпадающего меню корзины. Т.е. его не видно пока не убрать курсор с корзины (после чего она закроется). Как сделать так чтобы данный 'helper' распологался поверх всех.

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

    Доброго дня всем! Вопрос такой: как сделать так чтобы в корзине при изменении количества товара менялась сумма товара?
    Сейчас происходит следущее: количество в корзине можно изменять, но стоимость не пересчитывается, например мы изменили количество с 1 на 2, сумма осталась прежней. Пересчитывается только в том случае если нажать в поле input, затем появляется отдельное окошко типа flytoCart='helper' с изменением количества и только после нажатия "ОК" в этом окошке происходит изменение суммы. Как убрать это всплывающее окно и сделать так чтобы сумма изменялась при нажатии стрелок?

    [!Shopkeeper? &priceTV=`price` &orderFormPage=`17` &gotoid=`33253` &flyToCart=`nofly` &counterField=`1` &linkAllow=`0` &style=`0` &cartTpl=`cartRowNEW` &noCounter=`0` &noLoader=`0` &noConflict=`1` &noJavaScript=`0` &noJQuery=`1` !]

    Чанк с шаблоном корзины

    <div class="dropdown-product-item"> <div class="toolbar-dropdown"> <div id="shopCart" class="shop-cart"> <div id="cartEmpty" style="text-align:center;">Пусто</div> [+plugin+] </div> <!--tpl_separator--> <div class="dropdown-product-item shop-cart" id="shopCart"> <div id="cartInner" class="full"> <form action="[+this_page_url+]#shopCart" method="post"> <fieldset> <div style="text-align:right; font-size:16px; color:#000;"> <a href="[+empty_url+]" id="butEmptyCart">Очистить</a> </div> <table width="100%"> <tbody> [+inner+] </tbody> </table> <div class="toolbar-dropdown-group"> <div class="column"><span class="text-lg">Сумма:</span></div> <div class="column text-right"><span class="text-lg text-medium"><b>[+price_total+]</b> [+currency+]</span></div> </div> <noscript> <fieldset><input type="submit" name="shk_recount" value="Пересчитать" /></fieldset> </noscript> <div class="column"><a class="btn btn-sm btn-block btn-success" href="[+order_page_url+]" id="butOrder" class="cart-order12"">Заказать</a></div> </fieldset> </form> </div> [[+plugin+]] </div> <!--tpl_separator--> <div id="shopCart" class="shop-cart"> <div id="cartInner" class="full"> <div style="text-align:right;font-size:16px; color:#000;" > <a href="[+empty_url+]" id="butEmptyCart">Очистить корзину</a> </div> <div class="shop-cart-body">Выбрано: <b>[+total_items+]</b> [+plural+]</div> <div style="text-align:right;font-size:16px; color:#000;" >Общая сумма: <b>[+price_total+]</b> [+currency+] </div> <div class="cart-order12"> <a href="[+order_page_url+]" id="butOrder">Оформить заказ</a> </div> </div> [[+plugin+]] </div> </div>

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

    Спасибо за Catalogfill !
    Покопался с настройками конфигурационного файла, теперь прекрасно работает!
    Удачи вам!

    Читать далее