Shopify 知识库 · 指南
Shopify Product 商品页配方索引
从 product template type 进入标准商品页、预售与订阅商品页、尺码敏感商品页,再查页面内容、模块组合、alternate 分配与 Theme 实现。
Shopify product template type 渲染商品页。官方模板参考写明,它承载商品的媒体与内容,以及让顾客选择变体并加入购物车的表单。页面由商品资源与变体驱动:标题、价格、变体、库存、销售计划等是运行时数据,不是可以复制进静态文案的内容。路径样例与 alternate 的一般规则见 Template type 与 alternate template。
每份商品页配方按同一条检索路径展开:
product→ 可选 alternate → 业务页面 → 页面内容清单 → 页面组合 → 内容 × 展现 → Theme 实现
平台关系先读Template、业务页面与内容关系网;单个商品与变体的数据模型见商品与变体。
按顾客任务选择页面
| 业务页面 | 顾客任务 | 页面配方 |
|---|---|---|
| 标准商品页 | 判断这件商品是否适合我,并选定变体购买 | 标准商品页 |
| 预售与订阅商品页 | 在商品尚未现货或按周期交付时,看清发货与扣款条款再决定 | 预售与订阅商品页 |
| 尺码敏感商品页 | 确认尺码或型号是否适合,选错时知道怎么处理 | 尺码敏感商品页 |
选择判据:默认按标准商品页组合。购买动作依赖销售计划(预购、订阅)时读预售与订阅配方;顾客的主要风险是“买错尺寸或不兼容”时读尺码敏感配方。三者可以叠加,例如预售的服饰同时读后两份,叠加时以更严格的删除条件为准。
先判断是否需要 alternate
多数商品共用默认 product.json 即可。只有页面组成稳定不同、会被一批商品持续复用、且不能靠商品数据与单个 Section 设置表达时,才建立 alternate,例如 product.preorder.json;后缀是主题自己的命名,不是 Shopify 预置类型。判断规则见Alternate template 的判断规则,本文不复制。
已核验的平台约束
| 事项 | 官方页面所写 |
|---|---|
| 模板用途 | product 模板渲染商品页;官方建议模板或其中的 Section 始终包含 product 对象与商品表单 |
| 文件类型 | 可为 JSON 或 Liquid;JSON 模板中的 HTML 与 Liquid 必须放在被模板引用的 Section 内 |
| JSON 上限 | 一个 JSON 模板最多渲染 25 个 Section,每个 Section 最多 50 个 Block |
| main section | 模板页与 JSON 模板页均未规定必须有 main-product 或以 main 命名的 Section;JSON 页示例把 Section ID 写作 main,看起来是命名习惯而非要求。Dawn 使用 main-product,Horizon 使用 product-information,都只是所选主题的做法,见 Dawn 架构与 Horizon 商品页 |
| alternate 命名 | template-name.template-suffix.file-type,例如 product.alternate.json |
| alternate 分配 | 官方页写明可在后台分配给关联资源;帮助中心写明后台 Theme template 下拉只列出当前 live 主题里的模板 |
| alternate 预览 | Theme Editor,或 URL 参数 ?view=<suffix> |
| 不可替换默认模板 | 官方页写明不能用 alternate 替换默认模板,默认模板要改就改其代码 |
| 读取分配结果 | Liquid product.template_suffix 返回分配给商品的模板文件名后缀 |
未核验:一个商品可否同时分配多个模板、批量分配的边界、alternate 对搜索引擎与分析工具的影响。