[英]Create a single JS function for all products in magento for add to cart using Ajax method
我已經在Magento中成功創建了一個即時添加到購物車按鈕。 我已經使用Forms和Java腳本完成了該操作,即頁面上顯示的每個產品都有其自己的表單,並且相應地在表單上創建了自己的JavaScript函數。
因此,如果我在一頁中顯示60個產品,它將導致60forms和60 js函數。 無論如何,我可以對所有表單/產品使用單個JS嗎? ...我嘗試過並四處查看,但無法找到解決方案。
這是Form和JS:
<form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post" id="product_addtocart_form<?php echo $this->htmlEscape($_product->getId())?>"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
<button1 title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cartsd" onclick="productAddToCartForm<?php echo $this->htmlEscape($_product->getId())?>.submit(this)"><span><span><?php echo $buttonTitle ?></span></span></button>
<?php echo $this->getChildHtml('', true, true) ?>
</form>
JS:
var productAddToCartForm<?php echo $this->htmlEscape($_product->getId())?> = new VarienForm('product_addtocart_form<?php echo $this->htmlEscape($_product->getId())?>');
productAddToCartForm<?php echo $this->htmlEscape($_product->getId())?>.submit = function(button) {
if (this.validator.validate()) {
var form = this.form;
var e = null;
var oldLabel;
try {
this.form.request({
parameters: { adeptaajax:'true' },
onSuccess: function(transport){
var json = transport.responseText.evalJSON();
var displayString = json.message;
if(json.success) {
jQuery("#topCartContent").load("page/ #element > *");
jQuery("#cartHeader1").load("page/ #element2 > *");
}
alert(displayString);
},
onFailure: function(transport){
alert("<?php echo $this->__('There has been a problem adding your product. Please try again later.'); ?>");
}
});
} catch (e) {
}
if (e) {
throw e;
}
}
}.bind(productAddToCartForm<?php echo $this->htmlEscape($_product->getId())?>);
</script>
由於您不希望觸發60個請求,並且沒有可以添加多個產品的結帳購物車控制器操作,因此您可能必須在擴展Mage_Checkout_CartController
的類中編寫自己的Mage_Checkout_CartController
。
我通過2秒鍾的Google搜索發現了一個博客條目,該條目似乎正是這樣:
http://www.danneh.org/2010/09/adding-multiple-products-to-the-cart-simultaneously-in-magento/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.