我已经在Ecwid商店中为产品创建了类别,并使用ecwid api在我的网站中获取该类别产品,我将产品ID传递到下一个详细信息页面,并使用产品ID解析来自ecwid产品API的产品数据,如数量,价格和该特定产品的选项。
现在通过使用Ecwid addProduct扩展选项,我试图将产品数据传递给添加到购物车功能,它无法正常工作。
<script src="//app.ecwid.com/script.js?10998147" type="text/javascript" charset="UTF-8"></script>
<script>
var quant = $('#calquantity').val();
var product = {
id: "<?php $product_id;?>",
quantity: quant,
callback: function(success, product, cart) {
}
}
Ecwid.Cart.addProduct(productID, function(success, product, cart){
console.log(success);
console.log(product.name);
})
</script>
答案 0 :(得分:0)
来自Ecwid团队的维塔利。
我尝试在本地使用您的代码,我在控制台中收到了此错误:
Uncaught TypeError: Cannot read property 'addProduct' of undefined
at (index):69
所以这意味着添加产品的功能尚不可用 - Ecwid尚未加载。
我的建议是首先订阅Ecwid.OnAPILoaded事件,以确保此函数先可用,然后执行它。 Documentation
其次,应该将正确的产品ID作为Ecwid.Cart.addProduct
函数的第一个参数传递。 Documentation
所以生成的代码将是:
<script src="//app.ecwid.com/script.js?10998147" type="text/javascript" charset="UTF-8"></script>
<script>
var quant = $('#calquantity').val();
var productID = <?php echo 103496888;?>;
var product = {
id: productID,
quantity: quant,
callback: function(success, product, cart) {
}
}
Ecwid.OnAPILoaded.add(function(){
Ecwid.Cart.addProduct(productID, function(success, product, cart){
console.log(success);
console.log(product.name);
})
})
</script>
谢谢!如果您还有其他问题,请随时联系apps@ecwid.com