一旦用户使用我自己的功能点击一个按钮,我就需要将产品添加到购物车中。
按钮代码:
<input type="button" value="Add to cart" onclick="addItemsToCart(83); " class="button btn-success" id="addToCartButton1"/>
<input type="button" value="Add to cart" onclick="addItemsToCart(84); " class="button btn-success" id="addToCartButton2"/>
addItemsToCartFunction :
function addItemsToCart(option_value_id){
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: 'product_id=' + 92+ '&quantity=' + 1, //need to change this
dataType: 'json',
success: function(json) {
$('.success, .warning, .attention, .information, .error').remove();
if (json['redirect']) {
location = json['redirect'];
}
if (json['success']) {
$('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
$('.success').fadeIn('slow');
$('#cart-total').html(json['total']);
$('html, body').animate({ scrollTop: 0 }, 'slow');
}
}
});
}
这是正常的。
但是该产品有一个名为'custom'的选项。
根据数据库的选项细节:
option id: 17
option values ids 83 and 84.
我已将选项值作为参数传递给函数addItemsToCart。
现在我需要将该选项和值传递给数据部分。这意味着我需要改变这一行。
data: 'product_id=' + 92+ '&quantity=' + 1,
怎么做?
答案 0 :(得分:0)
由于您使用参数option_value_id,我认为您想要这个:
data: {product_id: option_value_id, quantity: 1},
查看jQuery Docs了解详情。
答案 1 :(得分:0)
更改功能
中的参数function addItemsToCart(option_id, option_value)
data
更改
data: {product_id: 92, quantity: 1, option_id: option_id, option_value: option_value},
更改按钮
<input type="button" value="Add to cart" onclick="addItemsToCart(17,83); " class="button btn-success" id="addToCartButton1"/>
<input type="button" value="Add to cart" onclick="addItemsToCart(17,84); " class="button btn-success" id="addToCartButton1"/>
在帖子中,值将是这样的:
$this->request->post = Array(
['product_id'] = 92,
['quantity'] = 1,
['option_id'] = 17,
['option_value'] = 83
)