首页 文章

主页上的产品直接购买按钮:Magento

提问于
浏览
0

我在Magento商店有一个产品需要立即购买按钮,将产品直接带入结账页面而不将其添加到购物车 .

我试过这个,但没有任何效果:

<button onclick="location.href ='{{config path="web/unsecure/base_url"}}/checkout/cart/add?product=1&qty=1′">Buy It Now</button>

2 回答

  • 0

    启动Magento 1.8后,再也无法通过外部推荐人将产品添加到购物车 . 所有添加到购物车的操作都取决于与会话不同的用户表单键 .

    如果你可以编辑模板文件,你可以使用php:

    <?php echo $this->helper('checkout/cart')->getAddUrl($_product);?>
    
  • 0

    这是我找到的解决方案:

    add a Buy now button on Product View page

    将立即购买按钮添加到addtoCart.phtml

    <button type="button" title="Buy Now" class="button btn-buy" onclick="productBuyNowForm.submit(this)"><?php echo $this->__('Buy Now'); ?> </button>
    

    在按钮onlick事件上,使用自定义VarienForm,productBuyNowForm.submit(this),它将提交此表单并重定向到checkout onepage .

    在view.phtml中添加以下JavaScript代码

    var productBuyNowForm = new VarienForm('product_addtocart_form');
    productBuyNowForm.submit = function (button, url) {
    
    if(!document.getElementsByName("return_url")){
       var element = document.getElementById("product_addtocart_form");
       var child=document.getElementById("return_url");
       element.removeChild(child);
     } 
    
    if (this.validator.validate()) {
        var form = this.form;
        var oldUrl = form.action;
        if (url) {
            form.action = url;
        }
    
        var inputreturn= document.createElement("input");
        inputreturn.type = "hidden";
        inputreturn.name = "return_url";
        inputreturn.value = "<?php echo Mage::getUrl('checkout/onepage')?>";
              document.getElementById('product_addtocart_form').appendChild(inputreturn);
    
    
        // Append a line break 
        var e = null;
        try {
            this.form.submit();
        } catch (e) {
        }
        this.form.action = oldUrl;
        if (e) {
            throw e;
        }
    
        if (button && button != 'undefined') {
            button.disabled = true;
        }
      }
    }.bind(productBuyNowForm);
    

相关问题