PuppyIP 资源中心
跨境电商开发 5 分钟 发布于 2026-11-06

Shopify 2027-01 currententrychange 迁移:用 currentEntry 读取新页面

Shopify 客户账号全页扩展升级到 API 2027-01 后,currententrychange 的 event.from 表示离开的上一页。若用它识别刚进入的页面,应先改读 shopify.navigation.currentEntry.url。2027-01 当前仍是候选版;先检查扩展版本和读取逻辑。

Shopify Customer Account API Navigation API currententrychange 2027-01 迁移

服务对象与地域限制

PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。

代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。

本文要点

  • 变化从 客户账号全页扩展 API 2027-01 开始:customer-account.page.render 和 customer-account.order.page.render 中的 event.from 改为上一条历史记录。
  • 使用 event.from 查找新页面的 2027-01+ full-page extensions 受影响;2026-10 及更早版本行为不变。
  • 用 shopify.navigation.currentEntry.url 读取刚进入页面的 URL;currentEntry 和 useNavigationCurrentEntry 在所有版本都不受此次变化影响。
  • currentEntry.url 适用于 2025-10 及之后的 API version,因此可以先完成代码迁移,再安排版本升级。

先确认变化的版本与扩展范围

Shopify 在 2026 年 10 月 31 日的开发者更新中宣布,这项变化从 客户账号全页扩展的 API 2027-01 开始生效。以本文首次发布日 2026 年 11 月 6 日可见的 changelog 索引为准,2027-01 处于 release candidate 状态;这说明的是版本状态,并不表示所有商店会在 2027 年 1 月 1 日自动切换,也没有给出适用于所有商店的统一升级截止日。扩展当前使用的版本仍需单独核对。

受影响范围是 Customer Account full-page extensions 的 currententrychange 导航事件,公告点名了 customer-account.page.render 和 customer-account.order.page.render 两种 target。不要仅凭版本新闻推断所有 Shopify 应用或所有账户页面都受影响;先确认自己的扩展类型、渲染 target 和 API version。

理解 event.from 从目标页变成上一页

在这两个 full-page extension target 中,currententrychange 事件携带 Navigation Current Entry Change Event。API 2026-10 及更早版本的 event.from 指向刚导航到的新页面,与 shopify.navigation.currentEntry 表示同一条当前记录;从 API 2027-01 开始,event.from 改为用户离开前所在的历史记录,也就是上一页。

因此,原先通过 event.from.url 读取当前目的页的代码,在 2027-01+ 会拿到上一页的 URL。若处理器据此选择页面内容或路线,它可能继续显示离开前的页面。此次兼容性问题只针对把 event.from 当作新页面来源的受影响版本代码;旧版行为没有同时改变。

迁移时用 currentEntry 读取目的页

当处理器需要知道导航刚刚进入哪个页面时,应从 shopify.navigation.currentEntry.url 读取当前条目的 URL,再按既有逻辑提取路径或匹配路线。不要继续用 event.from.url 推测目的页,也不必因为这个字段变化重写整套路由判断;保留现有页面映射,只替换读取目的页的来源。

shopify.navigation.currentEntry 本身在所有 API version 中都不受本次改变影响,使用 useNavigationCurrentEntry hook 的扩展也不受影响。公告说明 currentEntry.url 兼容 2025-10 及之后版本,因此团队可在升级到 2027-01 前完成这项代码改动,减少版本切换与语义修改同时发生时的排查范围。

逐个检查两个 full-page target

迁移审查应覆盖 customer-account.page.render 和 customer-account.order.page.render 中所有 currententrychange 处理器,并确认它们实际运行的 API version。重点检查 event.from.url 是否被当作当前路径、是否经由辅助函数或解构后的变量传递;只有负责识别刚进入页面的读取点需要改为 currentEntry.url。

event.from 在 2027-01+ 表示上一页。如果处理器确实需要记录离开页面或保留上一条历史记录,应按这个含义判断是否继续使用;不要为了完成迁移而机械删除每个 event.from 引用。若同一扩展仍支持较早 API version,则对照对应版本的事件语义单独确认用途。

按官方两条路线检查结果

Shopify 建议在扩展的两条路由之间导航,检查每次显示的是否为刚进入的页面。例如可设计路线 A 到路线 B、再回到路线 A 的待执行检查;每次事件后,把 currentEntry.url 与实际呈现的目标路线对应起来。这是供团队执行的示例,不是已完成的商店测试。

若仍停留在上一条路线,先核对实际加载的扩展版本、目标,以及是否还有经辅助函数读取 event.from 的目的页逻辑。保留复现路线和新旧 URL,缩小排查范围。两条路线的结果只能确认这一导航场景,不能证明所有扩展功能或业务流程均已通过。

资料来源

常见问题

仍在使用 2025-10 之前的版本,能直接套用替换代码吗?

公告明确保证这段 currentEntry.url 替换适用于 2025-10 及之后版本,没有为更早版本提供同等兼容承诺。先核对扩展当前可用的目标版本与对应文档,再制定迁移;不要把 2026-10 及更早版本行为不变误读为所有旧版本都支持这段新写法。

这次变化是否说明套餐、地区资格或费用也变了?

该公告只说明导航事件语义和版本迁移,没有给出新的套餐、国家或收费条件。不能据此推断扩展资格扩大或新增免费使用权;这些条件应按具体扩展能力的当前官方要求另行确认。