Shopify POS 零售

Shopify POS UI 扩展能放哪些位置,限制有哪些

现象#

扩展部署成功,POS 智能网格只多出一个点不开的磁贴;想在商品页加按钮始终不出现,打包后 CLI 还报 bundle 超过 64 KB。

原因#

  • 扩展只能挂在既有 target 上,没有对应 target 的界面无法注入任何内容
  • tile 与 modal 是两个 target,只声明 pos.home.tile.render 点开就是白屏
  • 编译后 bundle 上限 64 KB,超出在 deploy 阶段被直接拒绝
  • 商品搜索不支持按集合过滤,按 ID 批量取商品单次上限 50 个,超出部分被丢弃

处理步骤#

  1. 在 shopify.extension.toml 里成对声明 pos.home.tile.render 与 pos.home.modal.render
  2. 要嵌在原生页面的用 block target,例如 pos.product-details.block.render
  3. 菜单入口用对应的 .menu-item.render,按钮文案在组件里算,不要指望 TOML 的 name
  4. 要离线可用就加 [extensions.supported_features] runs_offline = true,并只用受支持的 target
  5. 集合商品先从服务端用 Admin API 取列表,再按 ID 每次 50 个分批查 POS 目录

验收标准#

磁贴点开有内容,商品详情页出现自定义区块;shopify app deploy 不再报体积超限,断网时磁贴仍能打开。

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