从 Shopify 脚本迁移到 Shopify Functions
Shopify Functions与 Shopify 脚本类似,两者都允许开发人员创建自定义商务体验。
Shopify Functions
Shopify Functions 随应用一起安装。系统直接在 Shopify 后台中将 Shopify Functions 与其他功能一起配置,这意味着商家在创建或修改自定义项时不需要使用代码。与运行 Shopify 脚本相比,运行 Shopify Functions 的 WebAssembly 平台的性能更高,可在 5 毫秒以内执行代码。因此,Shopify Functions 可以支持大型促销活动,例如限时抢购,同时性能不会降低。
通过使用 Shopify Functions,开发人员可以在其自己的本地环境中进行编码和单元测试。开发人员在应用中分发 Shopify Functions 自定义项,而不是将 Ruby 代码复制并粘贴到每个商店中。最后,使用 Shopify Functions 可减少超时和 CPU 内存限制问题。
迁移到 Shopify Functions
迁移到 Shopify Functions 时,建议先使用基于配送和付款自定义项 Shopify Functions 的应用并将它们与订单项目折扣脚本配合使用。当您熟练使用配送和付款 Shopify Functions 时,您便可以开始使用 折扣 Shopify Functions。
步骤:
- 在 Shopify 后台,转至应用 > Script Editor。
- 查看现有脚本。请参阅折扣、配送和付款比较表,确定哪些脚本可以通过使用 Shopify Functions 进行替换。
- 如果无法使用 Shopify Functions 替换某个脚本,请继续使用该脚本,直到 Shopify Functions API 能够满足您的需求为止。
-
如果可以使用 Shopify Functions 替换脚本,请执行以下一项操作:
- 请浏览 Shopify App Store,确定是否有公开发布的应用可满足您的需求。
- 如果您的商店使用 Shopify Plus 套餐,则您可以创建自己的基于 Shopify Functions 的自定义应用。您可以查看用于创建折扣、付款自定义项和配送自定义项应用的教程。
确定满足您需求的基于 Shopify Functions 的应用后,在您的商店中安装该应用,然后在 Shopify 后台中配置该应用的设置。
测试应用以验证应用是否满足预期需求。如果应用符合您的要求,请停用基于 Shopify Functions的应用要替换的脚本。
配合使用 Shopify 脚本和 Shopify Functions
在 2025 年 8 月 28 日之前,Shopify 脚本将继续用于使用 checkout.liquid 自定义的结账流程以及升级为 Checkout Extensibility 的结账流程。
可以在一个商店中同时使用 Shopify 脚本和 Shopify Functions。如果您的脚本当前无法替换为 Shopify Functions,请继续使用 Shopify 脚本,直到 Shopify Functions API 满足您的需求为止。请参阅以下内容,了解 Shopify 脚本和 Shopify Functions 之间的交互方式。
订单项目脚本
订单项目脚本在 Shopify Functions 之前执行,包括应用创建的折扣。订单项目脚本无法访问通过函数和应用进行打折的金额。
脚本只能访问应用于结账流程的第一个折扣码,无法访问可能已经使用的其他折扣码。例如,使用 reject
仅会对结账流程中应用的第一个折扣执行操作,而不会影响其他折扣。
发货脚本
发货脚本在 Shopify Functions 创建的发货自定义项之后执行。脚本不能对修改后的配送自定义项重命名结果执行操作,但可以对移动或隐藏的自定义项执行操作。
付款脚本
付款脚本在 Shopify Functions 创建的付款自定义项之后执行。脚本不能对修改后的付款自定义项重命名结果执行操作,但可以对移动或隐藏的自定义项执行操作。