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

时间:2016-01-19 13:59:53

标签: php magento

我在Magento商店有一个产品,需要立即购买按钮才能将产品直接带到结帐页面,而不会将其添加到购物车中。

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

这是我找到的解决方案:

在“产品视图”页面上添加“立即购买”按钮

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

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

在onClick 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);