Magento添加到购物车并重定向到结帐(产品页面:在"Checkout"按钮上,"Add to Cart"重定向到购物车)



我的产品页面上有两个"添加到购物车"按钮。

第一个,默认功能,只是"添加到购物车",它的功能应该是,将产品添加到购物车,并重定向到购物车。

第二个标签为"Checkout",我希望将产品添加到购物车中,并重定向到Checkout而不是购物车。(但只有当Checkout按钮被点击时)。

我看了一下,似乎可以使用观察者?我不确定如何实现这一点,或区分哪个按钮被点击,或什么url指向Checkout按钮。

我认为你可以使用jQuery。

Checkout Button in list. php

<button type="button" title="<?php echo $this->__('Check out') ?>" class="button btn-cart" onclick="setcheckoutLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>

并将此脚本添加到相同的列表中。phtml文件

<script>
function setcheckoutLocation(location)
{
jQuery.ajax({
                    type:"GET",
                    url:location,
                    success:function(data){
                         window.location.href = "http://your-checkout-page-url";
                    }
                 });
}
</script>

创建cartController.php (app/code/core/checkout/controllers/)的addAction函数的副本到myaddAction().

添加下面的结束视图。html (app/design/frontend/your package/your template/template/catalog/product/view.phtml)

    <script type="text/javascript">
    //<![CDATA[
 productAddToCartForm.submit = function(button, url){
 replaceURL = url.replace("add/","myadd/");
            if(this.validator) {
                var nv = Validation.methods;
                delete Validation.methods['required-entry'];
                delete Validation.methods['validate-one-required'];
                delete Validation.methods['validate-one-required-by-name'];
                // Remove custom datetime validators
                for (var methodName in Validation.methods) {
                    if (methodName.match(/^validate-datetime-.*/i)) {
                        delete Validation.methods[methodName];
                    }
                }
                if (this.validator.validate()) {
                    if (url) {
                        this.form.action = replaceURL;
                    }
                    this.form.submit();
                }
                Object.extend(Validation.methods, nv);
            }
        }.bind(productAddToCartForm);
        //]]>
    </script>

添加结帐按钮到addtocart。phhtml (app/design/frontend/your package/your template/template/catalog/product/view)

 <button type="button" title="<?php echo $buttonTitle ?>" class="button btn-cart" onclick="productAddToCartForm.submitmy(this)"><span><span><?php echo "Checkout"; ?></span></span></button>

我告诉你复制addAction到mycartAction把

$this->_goBack();

$this->_redirect('checkout/onepage');
        return; 

结束

 if (!$cart->getQuote()->getHasError()){
                    $message = $this->__('%s was added to your shopping cart.', Mage::helper('core')->escapeHtml($product->getName()));
                    $this->_getSession()->addSuccess($message);
                }
添加

最新更新