EN
Shopify 知识库 · 指南

Horizon 内容模块:容器、媒体与业务表单

基于 Horizon 4.2.0 源码,区分通用容器、Hero 媒体、Page 与博客正文和联系表单的职责,说明各类内容模块的选择与验证重点。
历史资料
请结合文中的适用版本和来源阅读。

本文基于 Horizon 4.2.0,源码固定到 5acd1b6(核验于 2026-10-07)。结论限于此 commit,不表示其他版本行为相同;本篇为源码分析,未完成店铺运行验证。

一个 Hero、一个内容分组和一个联系表单虽然都能出现在页面上,但负责的事情不同。Horizon 的文件结构提供实现入口,业务内容仍需先按页面任务选择。

通用容器负责组合

sections/section.liquid 收集动态子块并交给 snippets/section.liquid;blocks/group.liquid 同样收集子内容,再交给 snippets/group.liquid。这种容器与渲染委托可以承载多种内容组合,不必为每种文案各建一套 Section。

容器复用也不意味着所有组合都合适。内容选择、模块顺序和读者任务见页面组合,外观配置见样式机制。

媒体选择不只检查是否为空

sections/hero.liquid 同时检查媒体资源和所选媒体类型。源码注释解释:商家切换图片与视频类型,并不会自动清除另一类型已保存的资源。若只判断资源非空,就可能把隐藏配置也算进当前输出。

该入口还分别处理桌面和移动媒体。阅读类似媒体模块时,应检查资源选择、回退和实际输出三个步骤,再用无媒体、单媒体和不同移动配置验证。

资源正文与营销组合分开

sections/main-page.liquid 提供 Page 内容区域的组合容器;sections/main-blog.liquid 则读取博客文章并组织文章卡片。它们面对的数据资源不同,不能仅因为都呈现文字和图片就合并成同一篇平台概念。

正文、媒体、博客、轮播和分组等模块各有实现入口;具体参数以所选基线的文件为准,不把某份设置表当作可直接复制的接口。

表单多了一层提交语义

blocks/contact-form.liquid 使用联系表单,组织提交按钮,并读取成功和错误结果。它的验证目标除了布局,还包括结果归属、字段提示和提交后的焦点。

把相同表单放到多个位置时,应检查实例标识和错误反馈是否对应正确实例。这里列出的是需要验证的条件,没有声称该版本已经通过多实例测试。

将模块选择落到一次检查

先确定页面要解决的问题,再选容器、媒体或表单入口;随后检查空内容、长文本、多个子块、小屏、键盘和失败反馈。不要从主题拥有多少文件推导网站需要多少业务模块。

源码基线