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


Передать значение доставки со страницы товара

  • Моя ситуация такова: вывожу список цен и доставки на странице товара. Необходимо чтобы по нажатию на кнопку "В корзину" в неё сразу передались значения и цены и доставки в сумме.

    На данный момент необходимо сначала выбрать цену и добавить товар в корзину, и только потом выбрать доставку - тогда она отобразится.

    <form action="[[~[[*id]]? &scheme=`abs`]]" method="post">
     <input type="hidden" name="shk-id" value="[[*id]]" />
     <input type="hidden" name="shk-name" value="[[*pagetitle]]" />
     <input type="hidden" name="shk-count" value="1">
     <input type="hidden" class="shk-dop"  name="dop__[[*id]]__add" value="" />
                					
     <div class="product-price"><span data-default-price="[[*price]]" class="product-price-digit">[[*price]]</span> ₽</div>
    							
     <button type="submit" class="btn btn-like"><i class="fa fa-shopping-basket" aria-hidden="true"></i>В корзину</button>
    
     <div class="dopPrice" style="display: block">	
      [[*dopPrice:replace=`[[+id]]==[[*id]]`]]
     </div>
                            
     [[!shkOptions?
      &get=`delivery`
      &post_name=`shk_delivery`
      &toPlaceholders=`1`
      &pl_prefix=`shkopt_`
      &tpl=`select_option`
     ]]
    
     Способ доставки: 
      <div name="shk_delivery">
       [[!+shkopt_delivery]]
      </div>
    
     </form>
    

    Чанк select_option

    <input name="shk_delivery" type="radio" value="[[+value]]"> <label>[[+label]] - [[+price]]</label>
    

    JS

    $('input[name="shk_delivery"]').bind('click',function(){
      SHK.selectDelivery( $('input[name="shk_delivery"]:checked').val() );
     });
    
  • Обычно доставка выбирается на этапе оформления заказа, поэтому другое не предусмотрено.
    Можете попробовать убрать эту строчку в коде:
    https://github.com/andchir/shopkeeper3/blob/master/core/components/shopkeeper3/model/shopkeeper.class.php#L455

  • @andchir Заработало, благодарю! Изменения могут на что-то повлиять? я бы потестировал и отписался тут

  • Изменения могут на что-то повлиять? я бы потестировал и отписался тут

    Я думаю проблем быть не должно.

 

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

  • Так же Вы забыли указать, что это какая-то древняя версия Шопкипера для 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 !
    Покопался с настройками конфигурационного файла, теперь прекрасно работает!
    Удачи вам!

    Читать далее