Shopify自定义运输脚本-删除特定产品的运输价格

时间:2018-06-30 09:32:48

标签: ruby e-commerce shopify

所以我想我也快要工作了

如果购物车中选择了特定的国家和产品,我尝试添加自定义脚本以删除所有运输选项。

我以为下面的代码可以工作,但似乎没有用,并且我没有收到错误

上下文- 如果产品带有危险品标签并且在英国境外,则删除所有运输选项并显示一条消息“我们无法运输到您的国家/地区”

    Hazmat_Tag= 'hazmat'

if Input.cart.shipping_address.country_code != 'UK' && Input.cart.line_items.any?{|item| item.variant.product.tags.include? Hazmat_Tag}
  Input.shipping_rates.delete_if do |shipping_rate|shipping_rate.source == 'shopify'
    break
  end
end

Output.shipping_rates = Input.shipping_rates

1 个答案:

答案 0 :(得分:0)

我能够删除所有送货方式,但无法在结帐时留言。您能解决这个问题吗?

Hazmat_Tag= 'hazmat';
isHazmat = false;

Input.cart.line_items.each do |item| 
  if item.variant.product.tags.include?(Hazmat_Tag)
    isHazmat = true;
    break
  end
end

Output.shipping_rates = Input.shipping_rates.delete_if do |shipping_rate|
  if isHazmat && Input.cart.shipping_address.country_code != 'UK'
    shipping_rate
  end
end

-或---

Hazmat_Tag= 'hazmat';

if Input.cart.shipping_address.country_code != 'UK' && Input.cart.line_items.any?{|item| item.variant.product.tags.include? Hazmat_Tag}
  Input.shipping_rates.delete_if do |shipping_rate|
      shipping_rate
  end
end

Output.shipping_rates = Input.shipping_rates

-编辑- 英国使用GB。 Shopify Country Code