当用户使用折扣代码时,我想通过Shopify脚本添加新产品(订单项)。有可能吗?
if Input.cart.discount_code && Input.cart.discount_code.code == "first10"
Input.cart.line_items << LineItem.new(variant: 24665166184512, quantity: 10, source_indices:false,grams: 0, properties_was:false, properties:false, line_price_was:false, line_price:50, original_line_price:50, discounts:0, adjustments:nil)
end
Output.cart = Input.cart
我有错误:
[Error] undefined method 'id' for 24665166184512
shopify/std_lib_mutable/core/resources/line_item.rb:164:in LineItem.to_hash
shopify/std_lib_mutable/core/resources/cart.rb:43:in Cart.to_hash
shopify/std_lib_mutable/cart_line_items/output.rb:4:in #<Class:0x7f85471e6280>.to_hash
shopify/std_lib_mutable/cart_line_items/output.rb:4:in #<Class:0x7f85471e6280>.to_hash
shopify/std_lib_mutable/core/script_kernel.rb:12:in Object.prepare_output
(prepare_output):1
答案 0 :(得分:0)
很遗憾,您不能使用Shopify购物车脚本将产品添加到购物车。
购物车脚本只能查看和处理购物车中已经存在的物品。
如评论中所述,您可以删除商品,因为该商品已存在于购物车中。
我的建议是使用这两种方法。
1)折扣代码,当某人购买商品时,他们会以一定价格或免费获得另一种产品。
2)创建一个Ajax API脚本,当将商品添加到购物车时,它会查找购物车中有哪些商品,如果找到了该商品,则将免费商品或打折商品添加到购物车中。
https://help.shopify.com/en/themes/development/getting-started/using-ajax-api
3)(付费选项)是要在应用程序市场中看到的,您可以找到一些可用的其他应用程序来帮助您解决此问题。这看起来可能对您有帮助? https://apps.shopify.com/special-offers