Shopify Custom Shipping Script - Удалить тарифы на доставку для конкретного продукта - PullRequest
0 голосов
/ 30 июня 2018

Так что я думаю, что я близок к тому, чтобы это тоже сработало

Я пытаюсь добавить собственный сценарий, чтобы удалить все варианты доставки, если в корзине выбрана определенная страна и продукт.

Я думал, что приведенный ниже код будет работать, но, похоже, что нет, и я не получаю ошибок

Контекст - Если продукт имеет бирку hazmat и находится за пределами Великобритании, удалите все параметры доставки и отобразите сообщение «Мы не можем отправить в вашу страну»

    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 голосов
/ 13 сентября 2018

Мне удалось удалить все способы доставки, но я не смог поместить сообщение в кассу. Вам удалось решить эту проблему?

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

-Edit- Используйте ГБ для Великобритании. Shopify Код страны

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...