[英]Shopify script to allow checkout only when all products contain same tag
我正在為 Shopify Plus 編寫一個 LineItem 腳本,該腳本檢查以確保所有訂單項共享至少一個包含“集合”一詞的產品標簽。
只有當所有產品都來自同一個系列時,才能在我們的商店下訂單,因此我們使用特定標簽標記系列中的每個產品。 部分產品包含在多個 collections 中。
我的邏輯是:
quantity_products = 0
all_product_tags = ''
ok_to_checkout = false
all_product_tags = Input.cart.line_items.select do |line_item|
tag = line_item.variant.product.tags
quantity_products += 1
end
unique_tags = all_product_tags
unique_tags | split: ' ' | uniq | join: ' '
unique_tags.each do | cart_tags |
count = 0
all_product_tags.each do | all_tags |
if cart_tags = all_tags
count +=1
end
end
if count = quantity_products
ok_to_checkout = true
end
end
我無法從在線教程中區分使用 Liquid 和 Ruby。 當我嘗試創建唯一數組時出現錯誤。
我看到了這篇文章,但是我的一些產品包含在多個 collections 中,所以它不起作用: Allow shopify cart to checkout only if all cart items have the same specific tag
你能做的唯一一件對我有意義的事情就是迭代購物車。 第一件物品的收藏標簽成為黃金標准。 如果下一個項目中的任何一個不符合該黃金標准,則意味着該產品不是來自同一個系列。 怎么辦? 你要刪除項目嗎? 您不能只是停止結帳。 您不能標記項目,除非向違規項目添加標簽,然后購物車將顯示為非法。 然后你需要 Liquid 來確保非法購物車沒有結賬按鈕。 你在那里玩的非常奇怪的模式。
這不是您對 Ruby 或 Liquid 的問題,而是您將如何正確引導客戶建造一輛通過檢查的推車,以及如何糾正壞車。 您可能不想自動刪除違規商品,但您也不想提交不良購物車。 因此,您幾乎別無選擇,只能根據您添加到違規產品的標簽來實施這種在購物車上顯示/隱藏結帳按鈕的模式,然后確保它們易於查看和刪除。
我打賭你的實際購物車轉化率會因這種模式而直線下降。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.