0
我已經在Magento中成功創建了即時添加到購物車按鈕。我已經使用Forms和Java腳本完成了這個工作,也就是說,頁面上顯示的每個產品都有自己的表單,並且相應地在窗體上創建了其贏得的JavaScript函數。使用Ajax方法爲magento中的所有產品創建單個JS函數
所以,如果我在一個頁面中顯示60個產品,它會導致60個60和60個功能。無論如何,我可以在所有表單/產品中使用單個JS嗎? ...我嘗試過,並且無處不在,但無法獲得解決方案。
這裏是形式與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>
非常感謝萊斯的答覆,但你給的鏈接是添加多立即生產。我正在尋找的是編寫一個單獨的JS函數,所有60個ADD to CART按鈕都可以使用。現在我有60種不同的JS功能 - 每個按鈕都有自己的JS功能。我的目標是改進守則。請讓我知道,如果我錯過了什麼 – Nithin