Shopify 脚本要求和限制

存在一些 Shopify 脚本限制,旨在增强安全性并确保无论您的商店在给定时间有多少客户,脚本都能运行。如果您要为自己的 Shopify 商店开发脚本,请记住以下限制。

在线商店和店面 API

当您创建或编辑脚本时,您可以选择它只能在您的在线商店中运行,还是能在您的在线商店和以下应用中运行:

为使脚本正常工作,您的网站必须具有内置的购物车功能,因此,您不能将脚本用于 Buy ButtonFacebook and Instagram by Meta 销售渠道。

已发布的脚本

每种脚本类型一次只能发布一个脚本。例如,您可以发布一个订单商品脚本和一个运费脚本,但是您不能同时发布两个订单商品脚本。

Shopify 脚本的最大数量

您最多可以创建 200 个 Shopify 脚本。

草稿订单

商品条目脚本、运费脚本和付款脚本不适用于草稿订单或草稿订单结账。

Metafields

Shopify 脚本不能访问元字段

购物车/结账属性

Shopify 脚本无法访问 Shopify Liquid 购物车属性。您可以将这些属性添加到购物车页面,以便从客户处收集其他信息,但您无法创建使用这些属性的脚本。

折扣码

脚本可以访问是否应用了折扣码、折扣金额以及折扣类型,例如固定金额、百分比或运费折扣。脚本无法访问折扣码的应用方式,例如,如果折扣码是特定于购物车还是特定于商品条目。这意味着脚本无法访问折后总额或自动折扣。

访问应用于购物车的折扣的商品条目和运费脚本与折扣组合不兼容。.discount_code 方法只能返回一个折扣码。不支持使用折扣组合包含多个折扣码的购物车。

订单项目

脚本无法向购物车添加商品,也无法提高商品的价格。

运费

脚本无法提高运费价格。

多币种

您的脚本可能无法按预期支持多币种。为确保脚本适用于采用商店主要货币外的任何货币的购物车或结账,您需要将脚本迁移到 Shopify Functions

正则表达式

不支持正则表达式匹配。如果您创建的是商品条目脚本,则可以选择以下方法来解决该问题:

  • split 方法
  • start_withend_with 方法
  • include 方法

模板

您可能需要更新您的 Liquid 模板以支持您的脚本,并且不要给您的客户造成混淆。例如,并非所有模板都会在购物车中显示商品条目折扣。在这种情况下,您需要编辑模板以在购物车中显示商品条目折扣。详细了解可以对 Liquid 模板进行的修改类型

资源

可用于脚本的 CPU 和内存量是有限的。为脚本保留的资源取决于购物车大小以及脚本所需的计算量。Shopify 会仔细跟踪这些资源限制,以确保它们不会阻止您的脚本按预期运行。

当您测试脚本时,Script Editor 控制台会打印脚本正在使用的已分配资源的百分比。

输入/输出

除了少数例外,Shopify 脚本无法进行输入/输出。这意味着脚本无法执行 Web 请求或数据库调用,也无法获取用户输入。

但是,可以使用 puts 方法将文本打印至 Script Editor 应用中的控制台。

时间和随机性

脚本不能包含随机计算或基于时间的计算。Shopify 脚本无法访问 Time 对象和 rand 方法。

由于每次重新计算购物车总额时脚本都会运行,如果客户频繁更改其购物车,则基于时间或随机数生成的脚本可能出现不可预测或混乱的结果。不过,您可以使用 Launchpad 应用将脚本安排在活动期间运行。

脚本字符限制

您可以创建最多包含 40,960 个字符的脚本。

订阅订单

如果您的商品条目和运费脚本对订阅产品提供折扣,折扣将应用于以下付款:

  • 仅限货到付款订单的首笔付款,不适用于已安排的订单
  • 预付费订阅订单的全部金额

详细了解订阅和脚本

快捷结账

将 Shopify 脚本用于快捷结账时,在客户选择快捷付款方式后,将应用运费折扣。因此,订单价格的更改不会反映在客户的设备或浏览器中。客户可以看到其快捷结账的初始价格,但实际支付的是正确的折扣价格。

Shopify POS

Shopify 脚本不适用于 Shopify POS

重命名支付网关

您无法重命名将图片或 logo 显示为网关名称的支付网关。可以重命名名称旁边包含 logo 图片的支付网关。

结账时拆分发货

发货脚本与 Shopify Checkout 中的拆分发货不兼容。如果您使用发货脚本并激活拆分发货,则结账时不会向您的客户显示拆分货件。

没有找到您需要的答案?我们将为您提供帮助。