OC 1.5.x Полет товара в корзину.

Тема в разделе "Общие вопросы", создана пользователем lexa.22rus, 12 сен 2015.

  1. lexa.22rus

    lexa.22rus Пользователь

    Сообщения:
    68
    Симпатии:
    1
    'VERSION', '1.5.6.1'

    Использую вот этот пример
    Мне кажется очень нужная фуська! Многие покупатели корзину могут не увидеть, а так визуально показано куда товар летит!
    Для применения нужно всего лишь поменять выполнение скрипта
    Заходим вот в этот файл: catalog/view/theme/Ваш шаблон/template/product/product.tpl

    меняем

    Код:
    <script type="text/javascript"><!--
        $('#button-cart').bind('click', function() {
            $.ajax({
                url: 'index.php?route=checkout/cart/update',
                type: 'post',
                data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
                dataType: 'json',
                success: function(json) {
                    $('.success, .warning, .attention, information, .error').remove();
                
                    if (json['error']) {
                        if (json['error']['warning']) {
                            $('#notification').html('<div class="warning" style="display: none;">' + json['error']['warning'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                    
                            $('.warning').fadeIn('slow');
                        }
                    
                        for (i in json['error']) {
                            $('#option-' + i).after('<span class="error">' + json['error'][i] + '</span>');
                        }
                    }  
                            
                    if (json['success']) {
                        $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                        
                        $('.success').fadeIn('slow');
                        
                        $('#cart_total').html(json['total']);
                    
                        $('html, body').animate({ scrollTop: 0 }, 'slow');
                    }  
                }
            });
        });
        //--></script>
    на вот этот

    Код:
    //--></script>
        <script type="text/javascript">
        $(document).ready(function(){
            $('#button-cart').bind('click', function() {
                $.ajax({
                    url: 'index.php?route=checkout/cart/add',
                    type: 'post',
                    data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
                    dataType: 'json',
                    success: function(json) {
                        $('.success, .warning, .attention, information, .error').remove();
                            if (json['error']) {
                            if (json['error']['warning']) {
                                $('#notification').html('<div class="warning" style="display: none;">' + json['error']['warning'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                                $('.warning').fadeIn('slow');
                            }
                            for (i in json['error']) {
                                $('#option-' + i).after('<span class="error">' + json['error'][i]
        + '</span>');
                            }
                        }
                                    
                        if (json['success']) {
                            $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                        
                            $('.success').fadeIn('slow');
                            $('#cart_total').html(json['total']);
                            var image = $('#image').offset();
                                $('.cart-module').html(json['output']);
                                if($(".cart-module").length > 0){
                                    var cart = $('.cart-module');
                                    var cart_offset = cart.offset();
                                }else {
                                    var cart = $('#cart');
                                    var cart_offset = cart.offset();
                            }
                            $('#image').before('<img src="' + $('#image').attr('src') + '" id="temp" style="position: absolute; z-index:9999; top: ' + image.top + 'px; left: ' + image.left + 'px;" />');
                            params = {
                                top : cart_offset.top + 'px',
                                left : cart_offset.left + 'px',
                                opacity : 0.0,
                                width : cart.width(),
                                height : cart.height()
                            };
                            $('#temp').animate(params, 'slow', false, function () {
                                $('#temp').remove();
                            });
                        }
                                        if (json['success']) {
                                                $('#cart-total').html(json['total']);
                                }    
                    }
                });
            });
        });
        </script>

    Все получается, товар улетает в корзину.

    Но только если я нахожусь в карточке товара.

    Если я нахожусь в категории, то все происходит как раньше, то есть просто появляется надпись, что товар добавлен в корзину.

    Подскажите, как сделать что бы товар улетал в корзину из категории.
     
    Последнее редактирование: 12 сен 2015
  2. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    удалите ссылку на варез сайт.

    Хотите помощи по инструкции? Перепишите аккуратно инструкцию сюда.
     
  3. lexa.22rus

    lexa.22rus Пользователь

    Сообщения:
    68
    Симпатии:
    1
    готово
     
  4. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    все остальные страницы, при нажатии кнопки купить, работают от скрипта common.js
    Там тоже есть такая же функция, вот ее и меняйте.
     
  5. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    правда надо будет еще и с this поиграть чтобы найти нужное изображение.. В общем как будет время напишу как...
     
  6. lexa.22rus

    lexa.22rus Пользователь

    Сообщения:
    68
    Симпатии:
    1
    Поменял.
    После того, как поменял кнопка купить перестала работать.
     
  7. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    вставить в самый конец в common.js
    Проверял только на 1.5.5.1 на шаблоне по умолчанию.

    Код:
    $('.cart .button').live('click', function() {
    
        var image0 =  $(this).parent().parent().parent().find('.image img');
    
        var image = image0.offset();
    
        if($(".cart-module").length > 0){
                var cart = $('.cart-module');
                var cart_offset = cart.offset();
            }else {
                var cart = $('#cart');
                var cart_offset = cart.offset();
        }
        image0.before('<img src="' + image0.attr('src') + '" id="temp" style="position: absolute; z-index:9999; top: ' + image.top + 'px; left: ' + image.left + 'px;" />');
        params = {
            top : cart_offset.top + 'px',
            left : cart_offset.left + 'px',
            opacity : 0.0,
            width : cart.width(),
            height : cart.height()
        };
        $('#temp').animate(params, 2000, 'linear', function () {
            $('#temp').remove();
        });
    
    
    });
     
    solunski.d нравится это.