我在Magento商店有一个产品需要立即购买按钮,将产品直接带入结账页面而不将其添加到购物车 .
我试过这个,但没有任何效果:
<button onclick="location.href ='{{config path="web/unsecure/base_url"}}/checkout/cart/add?product=1&qty=1′">Buy It Now</button>
启动Magento 1.8后,再也无法通过外部推荐人将产品添加到购物车 . 所有添加到购物车的操作都取决于与会话不同的用户表单键 .
如果你可以编辑模板文件,你可以使用php:
<?php echo $this->helper('checkout/cart')->getAddUrl($_product);?>
这是我找到的解决方案:
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);
2 回答
启动Magento 1.8后,再也无法通过外部推荐人将产品添加到购物车 . 所有添加到购物车的操作都取决于与会话不同的用户表单键 .
如果你可以编辑模板文件,你可以使用php:
这是我找到的解决方案:
add a Buy now button on Product View page
将立即购买按钮添加到addtoCart.phtml
在按钮onlick事件上,使用自定义VarienForm,productBuyNowForm.submit(this),它将提交此表单并重定向到checkout onepage .
在view.phtml中添加以下JavaScript代码