Shopify Template、业务页面与内容关系网
通用页面知识先遵循:
内容 × 展现形式 = 可复用页面模块
业务页面 + 有序模块 = 页面组合
进入 Shopify 后,再将页面组合连接到平台的 Template type、可选 alternate 和 Theme 实现。这里仍然不是一棵“页面下面放模块”的目录树,而是一张可以双向检索的关系网:
Template type → 可选 alternate template → 具体业务页面 ↔ 页面组合 ↔ 内容与模块
展现形式、功能模块和 Theme 文件继续从这张网向外连接。任何页面都可以使用多种内容,同一种内容也可以出现在多个页面;因此 URL 只表达稳定的知识归属,不能用文件夹层级表达全部关系。
平台关系节点
| 节点 | 表达什么 | 示例 |
|---|---|---|
| Template type | Shopify 能渲染哪类资源或系统页面 | product、collection、page、article |
| Alternate template | 同一 Template type 的可选页面组成 | page.about.json、product.preorder.json |
| 业务页面 | 顾客看到的具体页面及其任务 | About Us、品牌故事、预售商品页 |
| 页面组合 | 业务页面选择的有序模块及其删除条件 | 组织介绍 → 事实证据 → 相关行动 |
| 内容与模块 | 跨平台维护的业务语义和有效组合 | 品牌故事、商品概述、评价、FAQ 手风琴 |
Template type 是平台约束;业务页面、内容和模块是分析对象;alternate template 是页面组合落到主题时可能使用的载体。它们不能合并成同一种“页面类型”。
当前资源数据、平台状态和交易动作是业务页面的运行上下文,不作为可复用编辑内容的子类型;它们直接进入功能模块,再连接展现、交互和 Theme 实现。
关系和基数
| 关系 | 基数 | 含义 |
|---|---|---|
Template type HAS_ALTERNATE Alternate template | 一对零到多 | 默认模板之外可以没有或具有多个 alternate |
Alternate template SERVES 业务页面 | 多对多 | 一个模板可服务多个资源,同类业务页面也可能选择不同模板 |
业务页面 HAS_COMPOSITION 页面组合 | 一对一到多 | 同一业务任务可以因市场或稳定场景形成不同组合 |
业务页面 READS_OR_ACTS_ON 资源与平台状态 | 多对多 | 页面读取当前商品、变体、库存等数据,或执行加购、选择计划等动作 |
内容类型 × 展现形式 FORMS 功能模块 | 多对多、有条件 | FAQ 可形成 Accordion 或静态列表,但不穷举无任务组合 |
资源与平台状态 × 展现或交互 FORMS 功能模块 | 多对多、有条件 | 同一价格、库存或计划状态可在不同页面形成不同模块 |
页面组合 COMPOSES 功能模块 | 一对多、有序 | 组合记录模块顺序、每段任务和删除条件 |
功能模块 IMPLEMENTED_BY Theme 结构 | 多对多 | Section、Block 与 Snippet 可以复用 |
alternate template 不是业务页面的必需父节点。多个 About Us 页面可以直接共用 page.json;只有稳定页面组成确实不同并需要复用时,才增加 page.about.json。同一个 page.about.json 也可以分配给多个 Page 资源。
从 Template type 进入
| Template type | 默认业务页面 | 可能的业务变体 | 主要内容关系 |
|---|---|---|---|
index | 店面首页 | 市场或 B2B 上下文首页 | 核心主张、商品分类、特色商品、品牌故事、媒体报道、评价、订阅 |
product | 商品详情页 | 预售、套装、订阅或高考虑度商品页 | 商品概述、使用场景、视频、包装清单、评价、保证、FAQ、相关商品、促销 |
collection | 商品集合页 | 编辑型、活动型或类目型集合页 | 集合说明、商品分类、特色商品、促销、资源 |
list-collections | 集合列表页 | 特定导航目的的集合入口 | 商品分类、核心主张、特色商品 |
page | 普通 Page 页面 | About Us、Brand Story、Contact Us、FAQ、配送退换、尺码指南、门店、活动落地页 | 品牌故事、媒体报道、信任标志、FAQ、保证、促销及页面专属正文 |
blog | 博客列表页 | 新闻、指南、故事或专题博客 | 博客或资源、特色文章、订阅邀请 |
article | 文章详情页 | 指南、故事、新闻或案例文章 | 文章正文、关联资源、相关商品、订阅邀请 |
cart | 购物车页 | 经核验后才增加不同购物车页面组成 | 当前购物车内容、相关商品、保证摘要、促销状态 |
search | 搜索结果页 | 经核验后才增加不同搜索页面组成 | 查询与结果、商品分类、推荐资源 |
password | 店铺密码入口 | 上线预告或受限访问说明 | 核心主张、访问说明、订阅邀请 |
404 | 未找到页面 | 通常不需要业务变体 | 错误说明、商品分类、推荐资源 |
gift_card.liquid | 已签发礼品卡页面 | 受其 Liquid 模板约束 | 礼品卡信息、使用说明 |
metaobject/{type} | 可发布自定义实体页面 | 随具体实体定义决定 | 当前实体正文及与之相关的可复用内容 |
“可能的业务变体”只是说明何时值得研究 alternate,不表示主题应预建这些文件。index 的市场或 B2B 差异还可能由 contextual template 表达,不能与普通 alternate 混为一类。
page Template 的业务页面网
page 最能说明 Template、alternate 与业务页面不是一一对应:
| 业务页面 | 默认或 alternate 示例 | 页面核心内容 | 可复用内容类型 |
|---|---|---|---|
| About Us | page.json 或 page.about.json | 组织事实、团队、方法 | 品牌故事、媒体报道、信任标志 |
| Brand Story | page.json 或 page.brand-story.json | 完整品牌缘起与关键选择 | 品牌故事、商品展示、媒体报道 |
| Contact Us | page.json 或 page.contact.json | 联系范围、渠道、表单、反馈 | FAQ、保证摘要 |
| FAQ | page.json 或 page.faq.json | 分类问题与答案 | FAQ、保证详情、相关资源 |
| Shipping & Returns | page.json 或 page.shipping-returns.json | 地区、时效、费用、步骤、限制 | FAQ、保证详情 |
| Size Guide | page.json 或 page.size-guide.json | 测量方法、单位和尺码数据 | 商品展示、FAQ |
| Store Locator | page.json 或 page.store-locator.json | 地点、时间、服务和地图 | 商品分类、FAQ |
| Campaign Landing | page.json 或 page.campaign.json | 活动主张、商品、证据、限制、行动 | 核心主张、特色商品、促销、评价、保证 |
表中的文件名是主题自定义后缀示例,不是 Shopify 预置模板。一个业务页面也可以在内容足够简单时继续使用默认 page.json。
从业务页面进入内容
业务页面至少维护两类内容:
- 核心资源内容:当前商品、集合、Page、Blog、Article、Cart 或搜索结果本身提供的数据;
- 可复用编辑内容:品牌故事、评价、保证、FAQ 等跨页面内容类型。
现有内容类型主要覆盖第二类,不声称穷尽每个 Shopify 资源字段。商品标题、价格、变体、库存、文章正文、购物车行项目和搜索结果等属于当前资源上下文,不应为了迁就内容目录而改写成静态内容模块。它们进入店面能力模块,再与页面和 Theme 实现连接。
从内容反查页面
网状关系必须支持反向阅读:
| 内容类型 | 常见业务页面 | 进入页面时需要重新判断什么 |
|---|---|---|
| 品牌故事 | 首页、About Us、Brand Story、商品页 | 使用完整正文还是当前任务摘要 |
| 商品概述 | 商品页、集合卡片、比较页 | 对当前商品和变体是否成立 |
| 用户评价 | 商品页、首页、评价页 | 是总体分布还是精选片段 |
| 媒体报道 | 首页、About Us、Press 页面 | 报道是否与当前主张有关 |
| FAQ | 商品页、Contact Us、FAQ、政策页面 | 选择哪一组问题,是否隐藏关键条件 |
| 保证详情 | 商品页、Cart、政策页、售后入口 | 摘要是否与正式条款一致 |
| 第三方评价平台 | 首页、商品页、About Us、Contact Us | 评分快照日期、平台主页链接与自有评价是否分开 |
| 用户生成内容 | 首页、商品页、社交墙、活动页 | 每项内容是否有转载授权,并能追溯到原帖 |
| 数据证明 | 首页、About Us、商品页 | 数字口径、统计时间窗与来源是否仍成立 |
| 商品规格与参数 | 商品页、比较页、尺码指南 | 不同变体与版本的数值是否一致 |
| 配送与时效信息 | 商品页、Cart、政策页、Contact Us | 摘要是否与结账时的实际运费与时效一致 |
| 支付方式与分期 | 商品页、Cart、页脚、政策页 | 展示的方式是否都在结账实际可用 |
| 客服渠道与服务时间 | Contact Us、FAQ、页脚、商品页 | 渠道是否有人值守、时效是否可兑现 |
| 关注入口 | 页脚、首页、文章页、感谢页 | 账号是否真实、关注后的价值是否说明 |
| 会员与奖励计划 | 首页、商品页、Cart、账户页 | 规则、有效期与排除项是否与实际一致 |
| 价值观与责任声明 | About Us、Brand Story、商品页 | 声明的范围、时间窗和证据是否可核对 |
| 促销与折扣 | 首页、集合页、商品页、Cart、活动页 | 页面承诺是否与实际资格和价格一致 |
| 博客或资源 | Blog、Article、首页、商品页 | 是完整正文、列表还是关联摘要 |
完整内容目录见店面内容类型。
Alternate template 的判断规则
满足以下条件时才建立 alternate template:
- 同一 Template type 下确实存在稳定不同的页面组成;
- 差异会被一个或多个资源持续复用;
- 仅靠当前资源内容和 Section 设置不能清晰表达;
- 商家能够理解后缀用途并正确分配;
- 默认模板和 alternate 的维护边界明确。
以下情况不应新建 alternate:只换文案或图片;只有一个临时页面且默认模板已能完成;差异只是单个 Section Setting;为了让目录看起来完整;尚无真实业务页面。
Shopify 的 alternate template 使用 template-name.template-suffix.file-type 命名,可以分配给关联资源、在 Theme Editor 预览,或通过 view 参数渲染。官方说明。
这张网怎样落到知识库
- Template 与业务页面专题从 Template type 和 alternate 关系进入;
- 具体内容类型专题从内容节点进入;
- 内容、展现与模块专题继续连接展现和功能模块;
- 页面组合专题记录页面到有序模块的边;
- 官方主题解析用固定源码版本核验实现边。
正文 URL 保持稳定。物理文件目录只负责存储,专题和正文链接提供不同的关系投影;不把同一篇内容复制到 Template、业务页面和内容类型三个目录中。