每日整理真实提问 356 个问题 · 726 个回答 需要系统性的技术文档?看 Shopify 技术百科 1000 篇 → 400-873-8117
已解决 提问于 2 个月前

结账页加的自定义字段,订单里看不到

2 个回答 2,512 次浏览 结账与支付 最后活跃 2 个月前
22

用结账扩展加了一个「发票抬头」输入框,用户填了,但后台订单详情里找不到这个值。

陈
陈工提问者
Shopify 认证开发者 · 专注主题与 Liquid
2 个月前提问 · 已收到 2 个回答

2 个回答

已采纳 · 提问者确认解决
46

先把判断放在前面:扩展收集的值需要显式写入 cart 或 order 的 attributes,输入框本身不会自动保存。

1处理顺序

  1. 在扩展里调用 applyAttributeChange,把值写到 cart attributes。
  2. 确认 key 命名统一,如 invoice_title,后台「其他详细信息」里会显示。
  3. 订单生成后通过 order.customAttributes 或 REST 的 note_attributes 读取。
  4. 必填校验放在扩展里做,applyAttributeChange 是异步的,别假设立刻生效。
  5. 用一笔测试单验证值能落库并在订单详情页显示。
验收:测试订单的「其他详细信息」里能看到填写的值,API 也能读到。
风 风格技术团队 回答于 2 个月前
2

字段值在结账页刷新后可能丢失,因为 cart attributes 需要等 change 应用完成。写完立刻跳转下一步容易丢值,加一个短暂等待或依赖 applyAttributeChange 的 Promise。

泽 阿泽 · 前端工程师 · 2 个月前

你的处理方式是什么?

写下你实际验证过的步骤,比「我也有这个问题」有用得多。当前版本为静态展示,提交后会由团队整理并回复。

描述你遇到的现象、店铺环境(主题 / 套餐 / 应用)、已经试过哪些操作……
我要单独提问 工作日 10 分钟内回复,可直接加微信 fenggejishu