EN
页面模块 · 指南

变体媒体模块:让选择、图片、视频与 3D 保持一致

变体媒体模块如何根据当前商品选择组织图片、视频与 3D 媒体,定义切换、回退、加载、错误和移动端退化状态,避免媒体与价格、库存或购买动作脱节。

变体媒体模块帮助顾客确认“我当前选中的配置实际是什么样”。它连接商品或变体数据、图片、视频、3D 等媒体、当前选择状态和购买区,而不是一个与选项无关的独立轮播。

变体媒体 = 当前选择 × 对应媒体集合 × 浏览状态 × 回退规则

先定义媒体归属

同一商品的媒体可能适用于全部变体,也可能只描述一种颜色、材质或配置。每项媒体都需要明确归属,不能仅根据文件顺序或模糊的替代文字猜测。

层次作用示例
商品级媒体说明所有变体共有的结构或能力功能演示、整体尺寸、通用安装视频
变体级媒体说明当前选择的可见差异颜色、面料、配件组合
购买辅助媒体帮助确认适配或操作方式尺寸图、使用姿势、安装步骤

媒体归属与媒体形式是两件事。一段视频可以属于整个商品,也可以只属于某个变体;3D 模型同样需要说明是否随当前选择变化。

切换变体时保持同一事实状态

变体变化后,媒体、标题或选项标签、价格、库存和购买动作应指向同一选择。异步加载期间保留明确的过渡状态,较早请求晚返回时不能覆盖较新的选择。

一次切换通常包含:

  1. 顾客选择一个有效选项组合;
  2. 页面确定目标变体及其可用状态;
  3. 媒体区加载或恢复该变体的媒体集合;
  4. 当前媒体位置按规则保留、重置或映射;
  5. 价格、库存、链接和购买表单同步到同一变体;
  6. 加载失败时保留可理解的回退内容和重试路径。

不要只更新缩略图高亮。顾客能够看到新颜色图片,但加入购物车仍提交旧变体,是比媒体缺失更严重的状态分裂。

回退规则需要预先决定

  • 当前变体有专属媒体:优先展示,并允许访问适用的商品级媒体;
  • 当前变体没有专属媒体:回退到变体主图或商品通用媒体,同时避免暗示错误颜色;
  • 只有一项媒体:退化为单媒体卡片,移除无意义的分页和左右按钮;
  • 视频或 3D 不可用:提供预览图、说明或替代媒体,不留下空面板;
  • 媒体加载失败:保持商品身份和购买区可用,给出重试或继续查看其他媒体的方式。

桌面端和移动端可以采用不同布局或减少次要媒体,但不应改变当前变体身份。移动端只展示一张图时,也应明确它为何代表当前选择。

图片、视频与 3D 的共同要求

  • 图片保留准确替代文字、尺寸和响应式资源;
  • 视频提供控制、字幕或同等信息,非必要内容不强制自动播放;
  • 3D 提供进入、退出和设备不支持时的替代路径;
  • 缩略图与主媒体之间的当前状态对键盘和辅助技术可理解;
  • 全屏、放大和媒体切换不会遮挡退出入口或破坏焦点顺序;
  • 首屏优先媒体与其余媒体采用不同加载优先级,避免一次下载全部高成本资源。

具体媒体形态见Media Gallery,商品视频的内容职责见商品视频。

映射到 Shopify

Shopify Product media 可以包含图片、外部视频(YouTube 或 Vimeo)、视频和 3D 模型。在 Liquid 中,variant.featured_media 返回关联到该变体的第一项媒体;需要为一个变体展示一组专属媒体时,应先核实所用数据来源能否表达这种归属,不能默认平台已提供完整的变体媒体集合。Theme 负责选择适合当前页面和设备的呈现方式,并在 Variant 变化时保持媒体与购买状态一致。媒体来自商品、变体关联数据或其他经确认的内容来源时,应分别记录,不把某个主题的字段约定写成平台通则。

验证一次媒体切换

选择至少两个媒体集合明显不同的变体,连续快速切换并观察主媒体、缩略图、价格、库存、URL 和购买表单。随后覆盖只有一张图、没有专属媒体、视频失败、3D 不支持、移动端和减少动态效果等条件。最终加入购物车,确认行项目确实对应最后看到的选择。

固定版本主题实现

固定基线为 Dawn v15.3.0 与 Horizon 4.2.0;结论限于这两个提交,均为静态源码分析,未运行验证。