在自定义大卡特尔主题上工作,我几乎完成了,唯一不起作用的部分是当用户更新购物车中的产品数量时,他们可以将数字设置为大于剩余库存的值。使用大卡特尔API,它有一个名为"产品"的变量,带有变量
product.options- Returns all of the options of a product whether they are
sold out or not.
然后,我像这样循环浏览一个产品的所有选项
Product.find(permalink, function(product) {
console.log("I found " + product.name + "!");
var len=(product.options.length);
console.log(len);
for(var i = 0; i<len;i++){
console.log((product.options[i]));
}
});
根据 API 的"选项"对象有一个字段
option.quantity Returns the quantity left in stock for an option.
好吧,当我检查从它打印的循环中获得的对象时
Object {id: 153343298, name: "Small", price: 30, sold_out: false, has_custom_price: false}
并且没有"数量"字段。这是API文档的链接,有人知道吗? 大卡特尔 API 文档
找到答案,默认情况下,当您单击 BigCartel "购物车.html"页面上的结帐按钮时,元素如下所示
<form method="post" action="/cart">
<ul class="plain_list">
... items in cart
</ul>
<p class="subtotal">
...
</p>
<button type="submit" name="checkout" title="Checkout">Checkout</button>
</form>
它汇总了一个发布请求,该请求会自动检查购物车中的任何商品数量是否大于剩余库存。它生成的用于显示错误消息外观的元素具有类
<ul class="unstyled errors">
<!-- Error Message here-->
</ul>
我看不到这个,因为我的自定义 CSS 阻止了该元素。