Переход в Корзину после добавления товара

Как сделать так, чтобы по нажатию на кнопку КУПИТЬ человеку выводилась страница Корзина.
Подскажите в каких файлах и в каких местах что должно меняться? Опишите принцип, потому что сами разобраться не смогли.

5 ответов

  • -1
    Михаил Ушенин 4 октября 2013 01:23 #
    Принцип:
    1. Найти JavaScript-обработчик нажатия на кнопку "В корзину" — это делается средствами разработчика в браузере (или поиском наугад в файле %theme_name%.shop.js).
    2. Изменить логику обработчика так, чтобы выполнялось перенаправление на страницу корзины.
    • +1
      Korsakov Alexey Korsakov Alexey 6 октября 2013 10:15 #
      Реализовано таким образом:
      <form class="addtocart" method="post" action="/cart/add/">

      Кажется, никакого JS не используется. Что делать?
    • 0
      Sm Sm 17 ноября 2014 16:06 #
      Подскажите как поправить эту логику - шаблон "Удобная покупка"
      $("#main").on('submit', 'form.addtocart', function () {
      var f = $(this);
      if (f.data('url')) {
      var d = $('#dialog');
      var c = d.find('.cart');
      c.addClass('product').load(f.data('url'), function () {
      d.show();
      if($('#dialog-image-product').length) {
      c.parent().prepend(c.find('h4'));
      c.css('margin-top', d.find('h4').innerHeight());
      }
      if ((c.height() > c.find('form').height())) {
      c.css('bottom', 'auto');
      } else {
      c.css('bottom', '15%');
      }
      });
      return false;
      }
      $.post(f.attr('action') + (sumbolrub ? '?html=1' : ''), f.serialize(), function (response) {
      if (response.status == 'ok') {
      var cart_total = $(".cart-total");
      if ( $(window).scrollTop()>=35 ) {
      cart_total.closest('#cart').addClass( "fixed" );
      }
      cart_total.closest('#cart').removeClass('empty');

      if ($("table.cart").length) {
      $(".content").parent().load(location.href, function () {
      cart_total.html(response.data.total);
      $(window).unbind('load.jcarousel, resize.jcarousel');
      $('ul[class^="products-slider-"]').jcarousel({
      scroll: 1,
      buttonNextHTML: '<div><i class="icon-caret-right"></i></div>',
      buttonPrevHTML: '<div><i class="icon-caret-left"></i></div>',
      reloadCallback: function(carousel){ carousel.scroll(1, false); carousel.list.css('left', 0); }
      });
      });
      } else {
      var origin = f.closest('li');
      var block = $('<div></div>').append(origin.html());
      block.css({
      'z-index': 10,
      top: origin.offset().top,
      left: origin.offset().left,
      width: origin.width()+'px',
      height: origin.height()+'px',
      position: 'absolute',
      overflow: 'hidden'
      }).insertAfter('#main').animate({//code origin => .content
      top: cart_total.offset().top,
      left: cart_total.offset().left,
      width: 0,
      height: 0,
      opacity: 0.5
      }, 500, function() {
      $(this).remove();
      cart_total.html(response.data.total);
      });

      var $scd = f.closest('li').find('.soaring-cart-data').data();
      if($scd){
      var $item = $('#soaring-cart li[data-id="'+response.data.item_id+'"]');
      var cnt = parseInt(f.find('input[name="quantity"]').val()) || 1;

      if($item.length){
      var $qty = $item.find('input.soaring-cart-qty');
      cnt += parseInt($qty.val());
      $qty.val(cnt);
      $item.find('.price').html(currency_format($scd.price*cnt, !sumbolrub, $.comfortbuy.currency));//*
      }else{
      $.extend($scd, { id: response.data.item_id, cnt: cnt, price: ''+currency_format($scd.price*cnt, !sumbolrub, $.comfortbuy.currency) });//*
      $('#soaring-cart ul').prepend(newItem($scd));
      setSoaringHeight();
      }

      $('#soaring-cart').scrollTop( $('#soaring-cart li[data-id="'+response.data.item_id+'"]').position().top );
      }
      }
      if (response.data.error) {
      alert(response.data.error);
      }
      } else if (response.status == 'fail') {
      alert(response.errors);
      }
      }, "json");
      return false;
      });
  • 1
    Korsakov Alexey 7 октября 2013 08:15 #
    Реализовано таким образом:
    <form class="addtocart" method="post" action="/cart/add/">

    Кажется, никакого JS не используется. Что делать?
  • 2
    Wanderer 23 ноября 2014 01:59 #
    По теме:
    В файле product.js где нибудь после строчки
    $("#cart-form").submit(function() {
    добавить
    window.location = "http://Ваш домен/cart/"
    Естественно "Ваш домен" заменить на адрес вашего сайта
    и будет после нажатия "В корзину" открываться корзина

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите