ejemploys de scripts de tarifas de envío
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。
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 borradorPara guard:联合国边境警卫
- Haz - clic公众卫士Para创建公共脚本。
恩,página
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的中断,运输时间可能会比平时更长。
# ================================ 可定制的设置 ================================# ================================================================#添加消息到省或国家的费率名称##如果购物车的收货地址省份/国家匹配#输入的设置,所有运费将有#输入的消息附加到他们的名字。## - '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#查找提供的省份代码是否与输入的省份代码匹配#字符串。# ================================================================类ProvinceSelectordef初始化(match_type,省)@match_type=match_type@provinces=省。地图{|省|省。upcase。带}结束def比赛吗?(province_code)如果@match_type==:所有真正的其他的(@match_type==:包括)==@provinces。任何?{|省|province_code。upcase。带==省}结束结束结束# ================================================================# AddMessageToRateForProvinceCountryCampaign##如果购物车的收货地址国家/省与#输入设置,所有运费将有输入# message附加在他们的名字后面# ================================================================类AddMessageToRateForProvinceCountryCampaigndef初始化(活动)@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
# ================================ 可定制的设置 ================================# ================================================================#显示邮编/省/国家的费率##如果购物车的收货地址国家/省/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#查找所提供的邮政编码是否与任何输入的邮政编码匹配#字符串。# ================================================================类ZipCodeSelectordef初始化(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#查找提供的汇率名称是否与输入的任何名称匹配#的名字。# ================================================================类RateNameSelectordef初始化(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)显示,以及所有其他#利率是隐藏的。否则,输入的速率将被隐藏。# ================================================================类ShowRatesForZipProvinceCountryCampaigndef初始化(活动)@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。
# ================================ 可定制的设置 ================================# ================================================================#隐藏率(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#查找所提供的邮政编码是否与任何输入的邮政编码匹配#字符串。# ================================================================类ZipCodeSelectordef初始化(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#查找提供的汇率名称是否与输入的任何名称匹配#的名字。# ================================================================类RateNameSelectordef初始化(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)是隐藏的。# ================================================================类HideRatesForZipProvinceCountryCampaigndef初始化(活动)@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_matchrate_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。
# ================================ 可定制的设置 ================================# ================================================================#产品/国家的隐藏率##如果购物车包含任何匹配的商品,并且我们有一个匹配# 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##根据输入的条件查找匹配的产品。# ================================================================类ProductSelectordef初始化(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。带)结束defproduct_id(line_item)(@match_type==:包括)==@ selector。包括什么?(line_item。变体。产品。id)结束defvariant_id(line_item)(@match_type==:包括)==@ selector。包括什么?(line_item。变体。id)结束def订阅(line_item)!line_item。selling_plan_id。nil ?结束结束# ================================================================# CountrySelector#查找提供的国家/地区代码是否与输入的代码匹配#字符串。# ================================================================类CountrySelectordef初始化(match_type,国家)@match_type=match_type@countries=国家。地图{|国家|国家。upcase。带}结束def比赛吗?(country_code)如果@match_type==:所有真正的其他的(@match_type==:包括)==@countries。任何?{|国家|country_code。upcase。带==国家}结束结束结束# ================================================================# RateNameSelector#查找提供的汇率名称是否与输入的任何名称匹配#的名字。# ================================================================类RateNameSelectordef初始化(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,则隐藏输入的比率。# ================================================================类HideRatesForProductCountryCampaigndef初始化(活动)@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_matchrate_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。
# ================================ 可定制的设置 ================================# ================================================================#隐藏邮政信箱地址的比率##如果收货地址包含任何输入的“邮政信箱”#标识符,输入的速率是隐藏的。## - '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#查找提供的地址是否包含任何输入的#字符串。# ================================================================类AddressSelectordef初始化(触发器)@triggers=触发器。地图{|触发|触发。downcase。带}结束def比赛吗?(地址)address_fields=(地址。address1,地址。address2].地图做|行|行。nil ??”“:行。downcase结束address_fields=address_fields。加入(”“)@triggers。任何?{|触发|address_fields。包括什么?(触发)}结束结束# ================================================================# RateNameSelector#查找提供的汇率名称是否与输入的任何名称匹配#的名字。# ================================================================类RateNameSelectordef初始化(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##如果收货地址包含任何输入的“邮政信箱”#标识符,输入的速率是隐藏的。# ================================================================类HideRatesForPOBoxCampaigndef初始化(活动)@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#查找所提供的客户是否有任何输入的标签。# ================================================================类CustomerTagSelectordef初始化(match_type,标签)@comparator=match_type==:包括?“什么?”:“没有吗?”@ tags=标签。地图{|标签|标签。downcase。带}结束def比赛吗?(客户)customer_tags=客户。标签。地图{|标签|标签。downcase。带}(@ tags&customer_tags).发送(@comparator)结束结束# ================================================================# RateNameSelector#查找提供的汇率名称是否与输入的任何名称匹配#的名字。# ================================================================类RateNameSelectordef初始化(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)将被隐藏。# ================================================================类ShowRateForCustomerTagCampaigndef初始化(活动)@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#将速率重新排序到输入的顺序中# ================================================================类ReorderRatesCampaigndef初始化(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#查找所提供的折扣代码是否与#输入代码。# ================================================================类DiscountCodeSelectordef初始化(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#查找提供的汇率名称是否与输入的任何名称匹配#的名字。# ================================================================类RateNameSelectordef初始化(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##将输入的折扣应用于提供的运费。# ================================================================类DiscountApplicatordef初始化(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##如果使用了其中一个输入的折扣代码,则输入的折扣代码为按所输入的金额贴现。# ================================================================类DiscountRatesForDiscountCodeCampaigndef初始化(活动)@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#查找所提供的客户是否有任何输入的标签# ================================================================类CustomerTagSelectordef初始化(match_type,标签)@comparator=match_type==:包括?“什么?”:“没有吗?”@ tags=标签。地图{|标签|标签。downcase。带}结束def比赛吗?(客户)customer_tags=客户。标签。地图{|标签|标签。downcase。带}(@ tags&customer_tags).发送(@comparator)结束结束# ================================================================# RateNameSelector#查找提供的汇率名称是否与输入的任何名称匹配#姓名# ================================================================类RateNameSelectordef初始化(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##将输入的折扣应用于提供的运费# ================================================================类DiscountApplicatordef初始化(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##如果我们有匹配的客户,则输入的比率为#按输入金额贴现。# ================================================================类DiscountRatesForCustomerTagCampaigndef初始化(活动)@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费率#将被隐藏。# ================================================================类CalculatedRateFallbackCampaigndef运行(shipping_rates)has_calculated_rates=shipping_rates。任何?{|shipping_rate|shipping_rate。源。downcase! =“shopify”}返回除非has_calculated_ratesshipping_rates。delete_if{|shipping_rate|shipping_rate。源。downcase==“shopify”}结束结束活动=(CalculatedRateFallbackCampaign。新(),]活动。每一个做|运动|运动。运行(输入。shipping_rates)结束输出。shipping_rates=输入。shipping_rates