Shopify Functions

Shopify Function operations 写错无变化

现象#

本地 run 的输出看起来有内容,前台购物车完全没变化;Dev Dashboard 里这次运行状态是 success,展开 output 却只剩一个空 operations 数组。

原因#

  • 每个 target 的键不同:配送要 deliveryOptionHandle,支付要 paymentMethodId
  • operations 必须是数组,直接返回单个对象会被 schema 判为无效并回退成空
  • 同一数组里混放 hide 与 rename 时只保留第一种,其余静默丢弃
  • 折扣类 target 不用 operations,仍返回 discounts,混写就整体失效

处理步骤#

  1. 先确认 target:cart.payment-methods.transform.run 用 paymentMethodId
  2. 返回值统一包成 { "operations": [ ... ] },无变化时返回空数组
  3. 一个数组只放一种操作,需要同时隐藏与改名就分两轮判断
  4. 折扣函数保留 discounts 结构,百分比写在 value.percentage.value
  5. 用 shopify app function run -j 看完整 JSON,再按 schema 核对大小写

验收标准#

回放输出的数组长度与预期一致,结账页对应位置出现被隐藏或改名的项,日志状态不再是无变化。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。