ejemploys de scripts de tarifas de envío
Esta página fue impresa el 2023年6月20日。Para . a . la versión实际,不好意思访问https://help.shopify.com/es/manual/checkout-settings/script-editor/examples/shipping-scripts。
Los scripts de envío interactúan con las tarifas de envío由pueden cambiar el nombre, la visibidad, el orden en pantalla和el precisio de una tarifa组成。Estos脚本使用ejecutans和cada vez que来访问客户端,并使用página de opciones de envío和pantalla de pago。
Los scripts de envío que asignan un descuento a unasuscripcion 请使用单独的底漆pago de esta。El script no descuenta los pagos posteriores。
Shopify +
Shopify脚本通过la aplicación脚本编辑器están可免除的独奏para商家deShopify + 。La aplicación脚本编辑器ya no est一次性para su descarga desde La tienda de applicicaciones de Shopify。
El 13 de goosto de 2024, Shopify脚本se退休不兼容服务。存在迁移脚本Shopify功能 Antes de esta fecha。
Para usar las plantillas en esta página,创建一个新的脚本con una plantilla en blanco。
出来的:
面板面板面板面板面板面板面板面板面板面板面板面板面板面板面板Aplicaciones >脚本编辑器 。
Haz - clicCrear脚本 。
Haz - clic关税envío 。
Selecciona白大蕉 你的luego已经被激活了Crear脚本 。
恩拉seccióncódigo fuente de Ruby ,消除la línea de código predeterminada:输出。车=输入.车
复制脚本desdesesta página y pembrolo en la sección decódigo fuente de Ruby 。
Edita la sección deconfiguracion可个性化的 Del script para que funccione in the tienda。
按一下脚本。Para más información, consulta la sección可能是purar Shopify Scripts 。
despusams de la prueba:
Haz - clicGuardar borrador Para guard:联合国边境警卫
Haz - clic公众卫士 Para创建公共脚本。
Agrega un mensaje和los nombres de las tarifas para provincias países específicos
美国este script para aggregar un mensaje a las tarifas de envío según la province y el país de la dirección de envío。
贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷、贫穷由于COVID-19的中断,运输时间可能会比平时更长。
背板
El uso de省
y deprovince_code
,是吗?国家
y decountry_code
Es específico para el equivalent de la región, Es decir, provincia/estado/región, o país/región。
# ================================ 可定制的设置 ================================ # ================================================================ #添加消息到省或国家的费率名称 # #如果购物车的收货地址省份/国家匹配 #输入的设置,所有运费将有 #输入的消息附加到他们的名字。 # # - 'country_code'是两个字符的缩写 #适用国家 # - 'province_code_match_type'决定我们是否查找 与输入的选项匹配或不匹配的省份,或 #所有省份。可以是: # - ':include'查找DO匹配的省份 # - ':exclude'查找不匹配的省份 # - ':all'查找所有省份 # - 'province_codes'是一个2个字符的缩写列表 #适用省份 # - 'message'是附加到费率名称的消息 # ================================================================ RATE_MESSAGE_FOR_PROVINCE_COUNTRY = ( { country_code: “CA” , province_code_match_type:包括 , province_codes: ( “公元前” , “上” ], 信息: “由于COVID-19的中断,运输时间可能会比平时更长。” }, { country_code: “我们” , province_code_match_type:包括 , province_codes: ( “纽约” , “佤邦” ], 信息: “由于COVID-19的中断,运输时间可能会比平时更长。” }, ] # ================================ 脚本代码(不要编辑 ) =============================== # ================================================================ # ProvinceSelector # 查找提供的省份代码是否与输入的省份代码匹配 #字符串。 # ================================================================ 类 ProvinceSelector def 初始化 ( match_type , 省 ) @match_type = match_type @provinces = 省 。 地图 { | 省 | 省 。 upcase 。 带 } 结束 def 比赛吗? ( province_code ) 如果 @match_type == :所有 真正的 其他的 ( @match_type == :包括 ) == @provinces 。 任何? { | 省 | province_code 。 upcase 。 带 == 省 } 结束 结束 结束 # ================================================================ # AddMessageToRateForProvinceCountryCampaign # #如果购物车的收货地址国家/省与 #输入设置,所有运费将有输入 # message附加在他们的名字后面 # ================================================================ 类 AddMessageToRateForProvinceCountryCampaign def 初始化 ( 活动 ) @campaigns = 活动 结束 def 运行 ( 车 , shipping_rates ) 返回 如果 车 。 shipping_address 。 nil ? 地址 = 车 。 shipping_address @campaigns 。 每一个 做 | 运动 | 下一个 除非 地址 。 country_code 。 upcase 。 带 == 运动 ( : country_code ]. upcase 。 带 province_selector = ProvinceSelector 。 新 ( 运动 ( : province_code_match_type ], 运动 ( : province_codes ]) 下一个 除非 province_selector 。 比赛吗? ( 地址 。 province_code ) shipping_rates 。 每一个 做 | shipping_rate | rate_name = shipping_rate 。 名字 + “——” + 运动 ( :消息 ] shipping_rate 。 change_name ( rate_name ) 结束 结束 结束 结束 活动 = ( AddMessageToRateForProvinceCountryCampaign 。 新 ( RATE_MESSAGE_FOR_PROVINCE_COUNTRY ), ] 活动 。 每一个 做 | 运动 | 运动 。 运行 ( 输入 。 车 , 输入 。 shipping_rates ) 结束 输出 。 shipping_rates = 输入 。 shipping_rates
邮政费:邮政费:código省邮政费:país específicos
美国este script para momoar solo as tarifas de envío específicas a clients de una sutural específica。
穷ejemploo, musestra solo una tarifa de envío específica和加利福尼亚客户con código postal 90210。La tarifa est oculta para todas las demás sucursales。
背板
El uso dezip_code
,德省
y deprovince_code
,是吗?国家
y decountry_code
Es específico para el equivalent de la región, Es decir, provincia/estado/región, o país/región。
# ================================ 可定制的设置 ================================ # ================================================================ #显示邮编/省/国家的费率 # #如果购物车的收货地址国家/省/zip匹配 #输入的设置,输入的速率(s)显示,以及所有其他 #利率是隐藏的。否则,输入的速率将被隐藏。 # # - 'country_code'是两个字符的缩写 #适用国家 # - 'province_code'是一个2个字符的缩写列表 #适用的省份 # - 'zip_code_match_type'决定以下字符串是否 #应该是完全匹配或部分匹配。可以是: # - ':exact'表示精确匹配 # - ':partial'表示部分匹配 # - 'zip_codes'是一个字符串列表,用于标识邮政编码 # - 'rate_match_type'决定以下字符串是否 #应该是完全匹配或部分匹配。可以是: # - ':exact'表示精确匹配 # - ':partial'表示部分匹配 # - ':all'表示所有速率 # - 'rate_names'是一个字符串列表,用于标识利率 # -如果使用上面的':all',可以设置为'nil' # ================================================================ SHOW_RATES_FOR_ZIP_PROVINCE_COUNTRY = ( { country_code: “我们” , province_code: “CA” , zip_code_match_type:精确 , zip_codes: ( “90210” ], rate_match_type:精确 , rate_names: ( “航运率” ], }, ] # ================================ 脚本代码(不要编辑 ) ================================ # ================================================================ # ZipCodeSelector # 查找所提供的邮政编码是否与任何输入的邮政编码匹配 #字符串。 # ================================================================ 类 ZipCodeSelector def 初始化 ( match_type , zip_codes ) @comparator = match_type == :确切 ? “= =” : “有吗?” @zip_codes = zip_codes 。 地图 { | zip_code | zip_code 。 upcase 。 带 } 结束 def 比赛吗? ( zip_code ) @zip_codes 。 任何? { | 邮政编码 | zip_code 。 to_s 。 upcase 。 带 。 发送 ( @comparator , 邮政编码 ) } 结束 结束 # ================================================================ # RateNameSelector # 查找提供的汇率名称是否与输入的任何名称匹配 #的名字。 # ================================================================ 类 RateNameSelector def 初始化 ( match_type , rate_names ) @match_type = match_type @comparator = match_type == :确切 ? “= =” : “有吗?” @rate_names = rate_names & 。 地图 { | rate_name | rate_name 。 downcase 。 带 } 结束 def 比赛吗? ( shipping_rate ) 如果 @match_type == :所有 真正的 其他的 @rate_names 。 任何? { | 名字 | shipping_rate 。 名字 。 downcase 。 发送 ( @comparator , 名字 ) } 结束 结束 结束 # ================================================================ # ShowRatesForZipProvinceCountryCampaign # #如果购物车的送货地址zip/省/国家匹配 #输入的设置,输入的速率(s)显示,以及所有其他 #利率是隐藏的。否则,输入的速率将被隐藏。 # ================================================================ 类 ShowRatesForZipProvinceCountryCampaign def 初始化 ( 活动 ) @campaigns = 活动 结束 def 运行 ( 车 , shipping_rates ) 地址 = 车 。 shipping_address @campaigns 。 每一个 做 | 运动 | zip_code_selector = ZipCodeSelector 。 新 ( 运动 ( : zip_code_match_type ], 运动 ( : zip_codes ]) rate_name_selector = RateNameSelector 。 新 ( 运动 ( : rate_match_type ], 运动 ( : rate_names ]) 如果 地址 。 nil ? full_match = 假 其他的 country_match = 地址 。 country_code 。 upcase 。 带 == 运动 ( : country_code ]. upcase 。 带 province_match = 地址 。 province_code 。 upcase 。 带 == 运动 ( : province_code ]. upcase 。 带 zip_match = zip_code_selector 。 比赛吗? ( 地址 。 邮政编码 ) full_match = country_match & & province_match & & zip_match 结束 shipping_rates 。 delete_if 做 | shipping_rate | rate_name_selector 。 比赛吗? ( shipping_rate ) ! = full_match 结束 结束 结束 结束 活动 = ( ShowRatesForZipProvinceCountryCampaign 。 新 ( SHOW_RATES_FOR_ZIP_PROVINCE_COUNTRY ), ] 活动 。 每一个 做 | 运动 | 运动 。 运行 ( 输入 。 车 , 输入 。 shipping_rates ) 结束 输出 。 shipping_rates = 输入 。 shipping_rates
邮资为código,省邮资为país específicos
美国este script para - ocularifas específicas客户端甚至ubicación específica。
穷ejemploo, culta una关税envío específica和加利福尼亚的客户con código邮政90210。
背板
El uso dezip_code
,德省
y deprovince_code
,是吗?国家
y decountry_code
Es específico para el equivalent de la región, Es decir, provincia/estado/región, o país/región。
# ================================ 可定制的设置 ================================ # ================================================================ #隐藏率(s)邮编/省/国家 # #如果购物车的收货地址国家/省/zip匹配 #输入设置,输入的速率(s)是隐藏的。 # # - 'country_code'是两个字符的缩写 #适用国家或地区 # - 'province_code'是一个2个字符的缩写列表 #适用的省或州 # - 'zip_code_match_type'决定以下字符串是否 #应该是完全匹配或部分匹配。可以是: # - ':exact'表示精确匹配 # - ':partial'表示部分匹配 # - 'zip_codes'是一个字符串列表,用于标识邮政编码 # - 'rate_match_type'决定以下字符串是否 #应该是完全匹配或部分匹配。可以是: # - ':exact'表示精确匹配 # - ':partial'表示部分匹配 # - ':all'表示所有速率 # - 'rate_names'是一个字符串列表,用于标识利率 # -如果使用上面的':all',可以设置为'nil' # ================================================================ HIDE_RATES_FOR_ZIP_PROVINCE_COUNTRY = ( { country_code: “我们” , province_code: “CA” , zip_code_match_type:精确 , zip_codes: ( “90210” ], rate_match_type:精确 , rate_names: ( “航运率” ], }, ] # ================================ 脚本代码(不要编辑 ) ================================ # ================================================================ # ZipCodeSelector # 查找所提供的邮政编码是否与任何输入的邮政编码匹配 #字符串。 # ================================================================ 类 ZipCodeSelector def 初始化 ( match_type , zip_codes ) @comparator = match_type == :确切 ? “= =” : “有吗?” @zip_codes = zip_codes 。 地图 { | zip_code | zip_code 。 upcase 。 带 } 结束 def 比赛吗? ( zip_code ) @zip_codes 。 任何? { | 邮政编码 | zip_code 。 to_s 。 upcase 。 带 。 发送 ( @comparator , 邮政编码 ) } 结束 结束 # ================================================================ # RateNameSelector # 查找提供的汇率名称是否与输入的任何名称匹配 #的名字。 # ================================================================ 类 RateNameSelector def 初始化 ( match_type , rate_names ) @match_type = match_type @comparator = match_type == :确切 ? “= =” : “有吗?” @rate_names = rate_names & 。 地图 { | rate_name | rate_name 。 downcase 。 带 } 结束 def 比赛吗? ( shipping_rate ) 如果 @match_type == :所有 真正的 其他的 @rate_names 。 任何? { | 名字 | shipping_rate 。 名字 。 downcase 。 发送 ( @comparator , 名字 ) } 结束 结束 结束 # ================================================================ # HideRatesForZipProvinceCountryCampaign # #如果购物车的送货地址zip/省/国家匹配 #输入设置,输入的速率(s)是隐藏的。 # ================================================================ 类 HideRatesForZipProvinceCountryCampaign def 初始化 ( 活动 ) @campaigns = 活动 结束 def 运行 ( 车 , shipping_rates ) 地址 = 车 。 shipping_address 返回 如果 地址 。 nil ? @campaigns 。 每一个 做 | 运动 | zip_code_selector = ZipCodeSelector 。 新 ( 运动 ( : zip_code_match_type ], 运动 ( : zip_codes ]) country_match = 地址 。 country_code 。 upcase 。 带 == 运动 ( : country_code ]. upcase 。 带 province_match = 地址 。 province_code 。 upcase 。 带 == 运动 ( : province_code ]. upcase 。 带 zip_match = zip_code_selector 。 比赛吗? ( 地址 。 邮政编码 ) 下一个 除非 country_match & & province_match & & zip_match rate_name_selector = RateNameSelector 。 新 ( 运动 ( : rate_match_type ], 运动 ( : rate_names ]) shipping_rates 。 delete_if 做 | shipping_rate | rate_name_selector 。 比赛吗? ( shipping_rate ) 结束 结束 结束 结束 活动 = ( HideRatesForZipProvinceCountryCampaign 。 新 ( HIDE_RATES_FOR_ZIP_PROVINCE_COUNTRY ), ] 活动 。 每一个 做 | 运动 | 运动 。 运行 ( 输入 。 车 , 输入 。 shipping_rates ) 结束 输出 。 shipping_rates = 输入 。 shipping_rates
眼际关税para products específicos en ciertos países
美国este script para - oculartaras客户端de unpaís específico cuando理解unartículo específico。
穷ejemploo, culta una tarifa de envío específica a clients de canada ' s compran una camiseta。
背板
El uso de国家
y decountry_code
Es específico para el equivalent de la región, Es decir país/región。
# ================================ 可定制的设置 ================================ # ================================================================ #产品/国家的隐藏率 # #如果购物车包含任何匹配的商品,并且我们有一个匹配 # country,则隐藏输入的比率。 # # - 'product_selector_match_type'决定我们是否寻找 与输入的选择器匹配或不匹配的产品。可以 号是: # - ':include'检查产品是否匹配 # - ':exclude'确保产品不匹配 # - 'product_selector_type'决定产品如何符合条件 将标识为#。可以是: # - ':tag'按标签查找产品 # - ':type'按类型查找产品 # - ':vendor'按供应商查找产品 # - ':product_id'按ID查找产品 # - ':variant_id'通过变体ID查找产品 # - ':subscription'查找订阅产品 # - 'product_selectors'是要标识的标签或id列表 #相关产品 # - 'country_code_match_type'决定我们是否查找 与输入的选项匹配或不匹配的国家,或 #所有国家。可以是: # - ':include'查找确实匹配的国家 # - ':exclude'查找不匹配的国家 # - ':all'查找所有国家 # - 'country_codes'是国家代码缩写列表 # -即。美国将是“美国”。 # - 'rate_match_type'决定以下字符串是否 #应该是完全匹配或部分匹配。可以是: # - ':exact'表示精确匹配 # - ':partial'表示部分匹配 # - ':all'表示所有速率 # - 'rate_names'是一个字符串列表,用于标识利率 # -如果使用上面的':all',可以设置为'nil' # ================================================================ HIDE_RATES_FOR_PRODUCT_AND_COUNTRY = ( { product_selector_match_type:包括 , product_selector_type: product_id , product_selectors: ( 1234567890987 , 1234567890986 ], country_code_match_type:包括 , country_code: ( “CA” ], rate_match_type:精确 , rate_names: ( “航运率” ], }, ] # ================================ 脚本代码(不要编辑 ) ================================ # ================================================================ # ProductSelector # #根据输入的条件查找匹配的产品。 # ================================================================ 类 ProductSelector def 初始化 ( match_type , selector_type , 选择器 ) @match_type = match_type @comparator = match_type == :包括 ? “什么?” : “没有吗?” @selector_type = selector_type @ selector = 选择器 结束 def 比赛吗? ( line_item ) 如果 自我 。 respond_to吗? ( @selector_type ) 自我 。 发送 ( @selector_type , line_item ) 其他的 提高 RuntimeError 。 新 ( “无效的产品选择器类型” ) 结束 结束 def 标签 ( line_item ) product_tags = line_item 。 变体 。 产品 。 标签 。 地图 { | 标签 | 标签 。 downcase 。 带 } @ selector = @ selector 。 地图 { | 选择器 | 选择器 。 downcase 。 带 } ( @ selector & product_tags ). 发送 ( @comparator ) 结束 def 类型 ( line_item ) @ selector = @ selector 。 地图 { | 选择器 | 选择器 。 downcase 。 带 } ( @match_type == :包括 ) == @ selector 。 包括什么? ( line_item 。 变体 。 产品 。 product_type 。 downcase 。 带 ) 结束 def 供应商 ( line_item ) @ selector = @ selector 。 地图 { | 选择器 | 选择器 。 downcase 。 带 } ( @match_type == :包括 ) == @ selector 。 包括什么? ( line_item 。 变体 。 产品 。 供应商 。 downcase 。 带 ) 结束 def product_id ( line_item ) ( @match_type == :包括 ) == @ selector 。 包括什么? ( line_item 。 变体 。 产品 。 id ) 结束 def variant_id ( line_item ) ( @match_type == :包括 ) == @ selector 。 包括什么? ( line_item 。 变体 。 id ) 结束 def 订阅 ( line_item ) ! line_item 。 selling_plan_id 。 nil ? 结束 结束 # ================================================================ # CountrySelector # 查找提供的国家/地区代码是否与输入的代码匹配 #字符串。 # ================================================================ 类 CountrySelector def 初始化 ( match_type , 国家 ) @match_type = match_type @countries = 国家 。 地图 { | 国家 | 国家 。 upcase 。 带 } 结束 def 比赛吗? ( country_code ) 如果 @match_type == :所有 真正的 其他的 ( @match_type == :包括 ) == @countries 。 任何? { | 国家 | country_code 。 upcase 。 带 == 国家 } 结束 结束 结束 # ================================================================ # RateNameSelector # 查找提供的汇率名称是否与输入的任何名称匹配 #的名字。 # ================================================================ 类 RateNameSelector def 初始化 ( match_type , rate_names ) @match_type = match_type @comparator = match_type == :确切 ? “= =” : “有吗?” @rate_names = rate_names & 。 地图 { | rate_name | rate_name 。 downcase 。 带 } 结束 def 比赛吗? ( shipping_rate ) 如果 @match_type == :所有 真正的 其他的 @rate_names 。 任何? { | 名字 | shipping_rate 。 名字 。 downcase 。 发送 ( @comparator , 名字 ) } 结束 结束 结束 # ================================================================ # HideRatesForProductCountryCampaign # #如果购物车包含任何匹配的商品,并且我们有一个匹配 # country,则隐藏输入的比率。 # ================================================================ 类 HideRatesForProductCountryCampaign def 初始化 ( 活动 ) @campaigns = 活动 结束 def 运行 ( 车 , shipping_rates ) 地址 = 车 。 shipping_address 返回 如果 地址 。 nil ? @campaigns 。 每一个 做 | 运动 | product_selector = ProductSelector 。 新 ( 运动 ( : product_selector_match_type ], 运动 ( : product_selector_type ], 运动 ( : product_selectors ], ) country_selector = CountrySelector 。 新 ( 运动 ( : country_code_match_type ], 运动 ( : country_code ]) product_match = 车 。 line_items 。 任何? { | line_item | product_selector 。 比赛吗? ( line_item ) } country_match = country_selector 。 比赛吗? ( 地址 。 country_code ) 下一个 除非 product_match & & country_match rate_name_selector = RateNameSelector 。 新 ( 运动 ( : rate_match_type ], 运动 ( : rate_names ], ) shipping_rates 。 delete_if 做 | shipping_rate | rate_name_selector 。 比赛吗? ( shipping_rate ) 结束 结束 结束 结束 活动 = ( HideRatesForProductCountryCampaign 。 新 ( HIDE_RATES_FOR_PRODUCT_AND_COUNTRY ), ] 活动 。 每一个 做 | 运动 | 运动 。 运行 ( 输入 。 车 , 输入 。 shipping_rates ) 结束 输出 。 shipping_rates = 输入 。 shipping_rates
眼关税是一种无形的关税
美国este script para ocularuntarifa específica客户端链接dirección de envío es un casillero postal。
背板
El uso de省
y deprovince_code
,是吗?国家
y decountry_code
Es específico para el equivalent de la región, Es decir, provincia/estado/región, o país/región。
# ================================ 可定制的设置 ================================ # ================================================================ #隐藏邮政信箱地址的比率 # #如果收货地址包含任何输入的“邮政信箱” #标识符,输入的速率是隐藏的。 # # - 'po_box_triggers'是PO可能的字符串列表 #邮箱地址 # - 'rate_match_type'决定以下字符串是否 #应该是完全匹配或部分匹配。可以是: # - ':exact'表示精确匹配 # - ':partial'表示部分匹配 # - ':all'表示所有速率 # - 'rate_names'是一个显示/隐藏的比率列表 #条件满足 # ================================================================ HIDE_RATES_FOR_PO_BOX = ( { po_box_triggers: ( “宝箱” , “邮局” , "p o box" , “美” , “邮政信箱” , “订单盒子” , “pobox” , “邮政信箱” , “邮箱” , “邮政信箱” , ”阿宝。盒子” , “邮箱” , ], rate_match_type:精确 , rate_names: ( “航运率” , “其他运费” ], }, ] # ================================ 脚本代码(不要编辑 ) ================================ # ================================================================ # AddressSelector # 查找提供的地址是否包含任何输入的 #字符串。 # ================================================================ 类 AddressSelector def 初始化 ( 触发器 ) @triggers = 触发器 。 地图 { | 触发 | 触发 。 downcase 。 带 } 结束 def 比赛吗? ( 地址 ) address_fields = ( 地址 。 address1 , 地址 。 address2 ]. 地图 做 | 行 | 行 。 nil ? ? ”“ : 行 。 downcase 结束 address_fields = address_fields 。 加入 ( ”“ ) @triggers 。 任何? { | 触发 | address_fields 。 包括什么? ( 触发 ) } 结束 结束 # ================================================================ # RateNameSelector # 查找提供的汇率名称是否与输入的任何名称匹配 #的名字。 # ================================================================ 类 RateNameSelector def 初始化 ( match_type , rate_names ) @match_type = match_type @comparator = match_type == :确切 ? “= =” : “有吗?” @rate_names = rate_names 。 地图 { | rate_name | rate_name 。 downcase 。 带 } 结束 def 比赛吗? ( shipping_rate ) 如果 @match_type == :所有 真正的 其他的 @rate_names 。 任何? { | 名字 | shipping_rate 。 名字 。 downcase 。 发送 ( @comparator , 名字 ) } 结束 结束 结束 # ================================================================ # HideRatesForPOBoxCampaign # #如果收货地址包含任何输入的“邮政信箱” #标识符,输入的速率是隐藏的。 # ================================================================ 类 HideRatesForPOBoxCampaign def 初始化 ( 活动 ) @campaigns = 活动 结束 def 运行 ( 车 , shipping_rates ) 地址 = 车 。 shipping_address 返回 如果 地址 。 nil ? @campaigns 。 每一个 做 | 运动 | 下一个 除非 AddressSelector 。 新 ( 运动 ( : po_box_triggers ])。 比赛吗? ( 地址 ) rate_name_selector = RateNameSelector 。 新 ( 运动 ( : rate_match_type ], 运动 ( : rate_names ], ) shipping_rates 。 delete_if 做 | shipping_rate | rate_name_selector 。 比赛吗? ( shipping_rate ) 结束 结束 结束 结束 活动 = ( HideRatesForPOBoxCampaign 。 新 ( HIDE_RATES_FOR_PO_BOX ), ] 活动 。 每一个 做 | 运动 | 运动 。 运行 ( 输入 。 车 , 输入 。 shipping_rates ) 结束 输出 。 shipping_rates = 输入 。 shipping_rates
大多数关税都是为了保护客户
美国este脚本para momoar solo una tarifa específica a clients específicamente etiquetados。
穷得可怜,穷得可怜,穷得可怜,穷得可怜,穷得可怜贵宾
。
# ================================ 可定制的设置 ================================ # ================================================================ #显示客户标签的费率 # #如果我们有一个匹配的客户,输入的比率将是 #显示,其他所有将被隐藏。否则,输入的 # rate(s)将被隐藏。 # # - 'customer_tag_match_type'决定我们是否查找 # customer是否使用任何输入的标签进行标记。 #可以是: # - ':include'检查客户是否被标记 # - ':exclude'确保客户没有被标记 # - 'customer_tags'是一个客户标签列表 #活动 # - 'rate_match_type'决定以下字符串是否 #应该是完全匹配或部分匹配。可以是: # - ':exact'表示精确匹配 # - ':partial'表示部分匹配 # - 'rate_names'是一个字符串列表,用于标识利率 # ================================================================ SHOW_RATES_FOR_CUSTOMER_TAG = ( { customer_tag_match_type:包括 , customer_tags: ( “customer_tag” , “another_tag” ], rate_match_type:精确 , rate_names: ( “航运率” , “其他运费” ], }, ] # ================================ 脚本代码(不要编辑 ) ================================ # ================================================================ # CustomerTagSelector # 查找所提供的客户是否有任何输入的标签。 # ================================================================ 类 CustomerTagSelector def 初始化 ( match_type , 标签 ) @comparator = match_type == :包括 ? “什么?” : “没有吗?” @ tags = 标签 。 地图 { | 标签 | 标签 。 downcase 。 带 } 结束 def 比赛吗? ( 客户 ) customer_tags = 客户 。 标签 。 地图 { | 标签 | 标签 。 downcase 。 带 } ( @ tags & customer_tags ). 发送 ( @comparator ) 结束 结束 # ================================================================ # RateNameSelector # 查找提供的汇率名称是否与输入的任何名称匹配 #的名字。 # ================================================================ 类 RateNameSelector def 初始化 ( match_type , rate_names ) @comparator = match_type == :确切 ? “= =” : “有吗?” @rate_names = rate_names 。 地图 { | rate_name | rate_name 。 downcase 。 带 } 结束 def 比赛吗? ( shipping_rate ) @rate_names 。 任何? { | 名字 | shipping_rate 。 名字 。 downcase 。 发送 ( @comparator , 名字 ) } 结束 结束 # ================================================================ # ShowRateForCustomerTagCampaign # #如果我们有一个匹配的客户,输入的比率将是 #显示,其他所有将被隐藏。否则,输入的 # rate(s)将被隐藏。 # ================================================================ 类 ShowRateForCustomerTagCampaign def 初始化 ( 活动 ) @campaigns = 活动 结束 def 运行 ( 车 , shipping_rates ) @campaigns 。 每一个 做 | 运动 | customer_tag_selector = CustomerTagSelector 。 新 ( 运动 ( : customer_tag_match_type ], 运动 ( : customer_tags ] ) customer_match = 车 。 客户 。 nil ? ? 假 : customer_tag_selector 。 比赛吗? ( 车 。 客户 ) rate_name_selector = RateNameSelector 。 新 ( 运动 ( : rate_match_type ], 运动 ( : rate_names ] ) shipping_rates 。 delete_if 做 | shipping_rate | rate_name_selector 。 比赛吗? ( shipping_rate ) ! = customer_match 结束 结束 结束 结束 活动 = ( ShowRateForCustomerTagCampaign 。 新 ( SHOW_RATES_FOR_CUSTOMER_TAG ), ] 活动 。 每一个 做 | 运动 | 运动 。 运行 ( 输入 。 车 , 输入 。 shipping_rates ) 结束 输出 。 shipping_rates = 输入 。 shipping_rates
重新征收关税
美国este script para cambiar order predeterminado de las tarifas de envío通常是一个客户。
# ================================ 可定制的设置 ================================ # ================================================================ #您希望显示汇率的顺序 # ================================================================ DESIRED_RATE_ORDER = ( “运费1” , “运费2” , “运费3” , ] # ================================ 脚本代码(不要编辑 ) ================================ # ================================================================ # ReorderRatesCampaign # 将速率重新排序到输入的顺序中 # ================================================================ 类 ReorderRatesCampaign def 初始化 ( desired_order ) @desired_order = desired_order 。 地图 { | 项 | 项 。 downcase 。 带 } 结束 def 运行 ( 车 , shipping_rates ) shipping_rates 。 sort_by ! { | 率 | @desired_order 。 指数 ( 率 。 名字 。 downcase 。 带 ) || 浮动 :: ∞ } 结束 结束 活动 = ( ReorderRatesCampaign 。 新 ( DESIRED_RATE_ORDER ), ] 活动 。 每一个 做 | 运动 | 运动 。 运行 ( 输入 。 车 , 输入 。 shipping_rates ) 结束 输出 。 shipping_rates = 输入 。 shipping_rates
关税与贫困有关código与贫困有关
美国este script para ofrecer de descuento en una tarifa específica是一个客户端,usado un código de descuento específico en la pantalla de pago。
可怜的ejemplo,我们的客户已经登录了código de descuento“DISCOUNT_15”,descuenta una tarifa específica。
# ================================ 可定制的设置 ================================ # ================================================================ #按折扣代码计算的贴现率 # #如果使用了其中一个输入的折扣代码,则输入的折扣代码为 按所输入的金额贴现。 # # - 'discount_code_match_type'决定是否如下 # strings应该是完全匹配或部分匹配。可以是: # - ':exact'表示精确匹配 # - ':partial'表示部分匹配 # - 'discount_codes'是标识折扣的字符串列表 #代码 # - 'rate_match_type'决定以下字符串是否 #应该是完全匹配或部分匹配。可以是: # - ':exact'表示精确匹配 # - ':partial'表示部分匹配 # - 'rate_names'是一个字符串列表,用于标识利率 # - 'discount_type'是要提供的折扣类型。可以 #: # - ':percent' # - ':美元' # - 'discount_amount'是折扣的百分比/美元 #应用 # - 'discount_message'是折扣时显示的消息 #被应用 # ================================================================ DISCOUNTS_FOR_DISCOUNT_CODES = ( { discount_code_match_type:精确 , discount_codes: ( “TESTCODE1” , “TESTCODE2” ], rate_match_type:精确 , rate_names: ( “航运率” , “其他运费” ], discount_type:百分比 , discount_amount: One hundred. , discount_message: “优惠码免运费” }, ] # ================================ 脚本代码(不要编辑 ) ================================ # ================================================================ # DiscountCodeSelector # 查找所提供的折扣代码是否与 #输入代码。 # ================================================================ 类 DiscountCodeSelector def 初始化 ( match_type , discount_codes ) @comparator = match_type == :确切 ? “= =” : “有吗?” @discount_codes = discount_codes 。 地图 { | discount_code | discount_code 。 upcase 。 带 } 结束 def 比赛吗? ( discount_code ) @discount_codes 。 任何? { | 代码 | discount_code 。 代码 。 upcase 。 发送 ( @comparator , 代码 ) } 结束 结束 # ================================================================ # RateNameSelector # 查找提供的汇率名称是否与输入的任何名称匹配 #的名字。 # ================================================================ 类 RateNameSelector def 初始化 ( match_type , rate_names ) @comparator = match_type == :确切 ? “= =” : “有吗?” @rate_names = rate_names 。 地图 { | rate_name | rate_name 。 downcase 。 带 } 结束 def 比赛吗? ( shipping_rate ) @rate_names 。 任何? { | 名字 | shipping_rate 。 名字 。 downcase 。 发送 ( @comparator , 名字 ) } 结束 结束 # ================================================================ # DiscountApplicator # #将输入的折扣应用于提供的运费。 # ================================================================ 类 DiscountApplicator def 初始化 ( discount_type , discount_amount , discount_message ) @discount_type = discount_type @discount_message = discount_message @discount_amount = 如果 discount_type == : % discount_amount * 0.01 其他的 钱 。 新 ( 分: One hundred. ) * discount_amount 结束 结束 def 应用 ( shipping_rate ) rate_discount = 如果 @discount_type == : % shipping_rate 。 价格 * @discount_amount 其他的 @discount_amount 结束 shipping_rate 。 apply_discount ( rate_discount , 信息: @discount_message ) 结束 结束 # ================================================================ # DiscountRatesForDiscountCodeCampaign # #如果使用了其中一个输入的折扣代码,则输入的折扣代码为 按所输入的金额贴现。 # ================================================================ 类 DiscountRatesForDiscountCodeCampaign def 初始化 ( 活动 ) @campaigns = 活动 结束 def 运行 ( 车 , shipping_rates ) 返回 如果 车 。 discount_code 。 nil ? @campaigns 。 每一个 做 | 运动 | discount_code_selector = DiscountCodeSelector 。 新 ( 运动 ( : discount_code_match_type ], 运动 ( : discount_codes ]) 下一个 除非 discount_code_selector 。 比赛吗? ( 车 。 discount_code ) rate_name_selector = RateNameSelector 。 新 ( 运动 ( : rate_match_type ], 运动 ( : rate_names ]) discount_applicator = DiscountApplicator 。 新 ( 运动 ( : discount_type ], 运动 ( : discount_amount ], 运动 ( : discount_message ], ) shipping_rates 。 每一个 做 | shipping_rate | 下一个 除非 rate_name_selector 。 比赛吗? ( shipping_rate ) discount_applicator 。 应用 ( shipping_rate ) 结束 结束 结束 结束 活动 = ( DiscountRatesForDiscountCodeCampaign 。 新 ( DISCOUNTS_FOR_DISCOUNT_CODES ), ] 活动 。 每一个 做 | 运动 | 运动 。 运行 ( 输入 。 车 , 输入 。 shipping_rates ) 结束 输出 。 shipping_rates = 输入 。 shipping_rates
顾客的礼貌是不礼貌的
Usa este script para descontar una tarifa específica a clients específicamente etiquetados。
贫穷的失业人员,他们的收入和收入比10%的人少得多específica他们的收入和收入都很低贵宾
。
# ================================ 可定制的设置 ================================ # ================================================================ 客户标签的贴现率 # #如果我们有匹配的客户,则输入的比率为 #按输入金额贴现。 # # - 'customer_tag_match_type'决定是否查找客户 #是否被任何输入的标签所标记。可以是: # - ':include'检查客户是否被标记 # - ':exclude'确保客户没有被标记 # - 'customer_tags'是一个客户标签列表 #折扣 # - 'rate_match_type'决定以下字符串是否 #应该是完全匹配或部分匹配。可以是: # - ':exact'表示精确匹配 # - ':partial'表示部分匹配 # - 'rate_names'是一个字符串列表,用于标识利率 # - 'discount_type'是要提供的折扣类型。可以 #: # - ':percent' # - ':美元' # - 'discount_amount'是折扣的百分比/美元 #应用 # - 'discount_message'是折扣时显示的消息 #被应用 # ================================================================ DISCOUNTS_FOR_CUSTOMER_TAG = ( { customer_tag_match_type:包括 , customer_tags: ( “customer_tag” , “another_tag” ], rate_match_type:精确 , rate_names: ( “航运率” , “其他运费” ], discount_type:百分比 , discount_amount: 10 , discount_message: “贴有标签的顾客运费九折” }, ] # ================================ 脚本代码(不要编辑 ) ================================ # ================================================================ # CustomerTagSelector # 查找所提供的客户是否有任何输入的标签 # ================================================================ 类 CustomerTagSelector def 初始化 ( match_type , 标签 ) @comparator = match_type == :包括 ? “什么?” : “没有吗?” @ tags = 标签 。 地图 { | 标签 | 标签 。 downcase 。 带 } 结束 def 比赛吗? ( 客户 ) customer_tags = 客户 。 标签 。 地图 { | 标签 | 标签 。 downcase 。 带 } ( @ tags & customer_tags ). 发送 ( @comparator ) 结束 结束 # ================================================================ # RateNameSelector # 查找提供的汇率名称是否与输入的任何名称匹配 #姓名 # ================================================================ 类 RateNameSelector def 初始化 ( match_type , rate_names ) @comparator = match_type == :确切 ? “= =” : “有吗?” @rate_names = rate_names 。 地图 { | rate_name | rate_name 。 downcase 。 带 } 结束 def 比赛吗? ( shipping_rate ) @rate_names 。 任何? { | 名字 | shipping_rate 。 名字 。 downcase 。 发送 ( @comparator , 名字 ) } 结束 结束 # ================================================================ # DiscountApplicator # #将输入的折扣应用于提供的运费 # ================================================================ 类 DiscountApplicator def 初始化 ( discount_type , discount_amount , discount_message ) @discount_type = discount_type @discount_message = discount_message @discount_amount = 如果 discount_type == : % discount_amount * 0.01 其他的 钱 。 新 ( 分: One hundred. ) * discount_amount 结束 结束 def 应用 ( shipping_rate ) rate_discount = 如果 @discount_type == : % shipping_rate 。 价格 * @discount_amount 其他的 @discount_amount 结束 shipping_rate 。 apply_discount ( rate_discount , 信息: @discount_message ) 结束 结束 # ================================================================ # DiscountRatesForCustomerTagCampaign # #如果我们有匹配的客户,则输入的比率为 #按输入金额贴现。 # ================================================================ 类 DiscountRatesForCustomerTagCampaign def 初始化 ( 活动 ) @campaigns = 活动 结束 def 运行 ( 车 , shipping_rates ) 返回 如果 车 。 客户 。 nil ? @campaigns 。 每一个 做 | 运动 | customer_tag_selector = CustomerTagSelector 。 新 ( 运动 ( : customer_tag_match_type ], 运动 ( : customer_tags ]) 下一个 除非 customer_tag_selector 。 比赛吗? ( 车 。 客户 ) rate_name_selector = RateNameSelector 。 新 ( 运动 ( : rate_match_type ], 运动 ( : rate_names ]) discount_applicator = DiscountApplicator 。 新 ( 运动 ( : discount_type ], 运动 ( : discount_amount ], 运动 ( : discount_message ], ) shipping_rates 。 每一个 做 | shipping_rate | 下一个 除非 rate_name_selector 。 比赛吗? ( shipping_rate ) discount_applicator 。 应用 ( shipping_rate ) 结束 结束 结束 结束 活动 = ( DiscountRatesForCustomerTagCampaign 。 新 ( DISCOUNTS_FOR_CUSTOMER_TAG ), ] 活动 。 每一个 做 | 运动 | 运动 。 运行 ( 输入 。 车 , 输入 。 shipping_rates ) 结束 输出 。 shipping_rates = 输入 。 shipping_rates
大多数单独的关税计算是“运输女皇”
美国estestscript para momoar solo的关税计算为穷人la empresa de运输。如按邮政运单(están)计算,请参阅mostrarán邮政运单手册。
# ================================================================ #运营商计算率回退 # #只要运营商计算费率可用,Shopify费率 #将被隐藏。 # ================================================================ 类 CalculatedRateFallbackCampaign def 运行 ( shipping_rates ) has_calculated_rates = shipping_rates 。 任何? { | shipping_rate | shipping_rate 。 源 。 downcase ! = “shopify” } 返回 除非 has_calculated_rates shipping_rates 。 delete_if { | shipping_rate | shipping_rate 。 源 。 downcase == “shopify” } 结束 结束 活动 = ( CalculatedRateFallbackCampaign 。 新 (), ] 活动 。 每一个 做 | 运动 | 运动 。 运行 ( 输入 。 shipping_rates ) 结束 输出 。 shipping_rates = 输入 。 shipping_rates