如何使用ajax添加到相关产品的购物车magento


How to use ajax add to cart for related products magento

我试图在相关产品中使用ajax添加到购物车中,但我不知道如何获得每个相关产品的链接?

我希望使用ajax,而不是在单击添加到购物车时重定向到购物车页面。对于主要产品来说,这是很好的工作。但对于相关的是添加主产品或添加相关产品,但将我重定向到购物车。

 <?php endif; ?>
                <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image">
                    <img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->constrainOnly(FALSE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(350); ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"/>
                </a>
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>

我可以使用吗

productAddToCartForm.submit(this)

但是通过内部提交什么?

这是添加到购物车代码

<script type="text/javascript">
    //<![CDATA[
        var productAddToCartForm = new VarienForm('product_addtocart_form');
        productAddToCartForm.submit = function(button, url) {
            if (this.validator.validate()) {
                var form = this.form;
                var oldUrl = form.action;
                if (url) {
                   form.action = url;
                }
                var e = null;
                if (!url) {
                    url = jQuery('#product_addtocart_form').attr('action');
                }
                url = url.replace("checkout/cart","ajaxcart/index"); // New Code
                var data = jQuery('#product_addtocart_form').serialize();
                data += '&isAjax=1';
                jQuery('#loading-mask').show();
                try {
                    jQuery.ajax({
                        url : url,
                        dataType : 'json',
                        type : 'post',
                        data : data,
                        success : function(data) {
                            jQuery('#loading-mask').hide();
                            if(data.status == 'ERROR'){
                                alert(data.message);
                            }else{
                                if(jQuery('.top-links .right-links')){
                                    jQuery('.top-links .right-links').replaceWith(data.toplink);
                                }
                                jQuery('#after-loading-success-message').show();
                            }
                        }
                    });
                } catch (e) {
                }                
                this.form.action = oldUrl;
                if (e) {
                    throw e;
                }
            }
        }.bind(productAddToCartForm);
    //]]>
    </script>

您可以序列化产品表单中的数据,并通过AJAX请求将其发送到服务器(通过原型|通过jQuery |通过纯JS)。