每日整理真实提问 356 个问题 · 726 个回答 需要系统性的技术文档?看 Shopify 技术百科 1000 篇 → 400-873-8117

Shopify 主题定制与二次开发

改主题不是「想加什么加什么」。我们先判断这个需求该用主题设置、section、metafield 还是 Function 来实现,再决定改动范围——这样升级官方新版时不会把改动全冲掉。

11 年 Shopify 建站600+ 主题交付升级不丢改动
改版与视觉还原 按设计稿还原首页、商品页、集合页,适配移动端与多语言,保持 LCP 不掉。
Liquid 与 section 开发 自定义 section、可配置区块、动态源绑定 metafield,运营可在主题编辑器里自助改。
主题升级适配 把定制逻辑抽到独立文件,官方新版发布后一键合并,不再出现「升级就炸」。
运营可自助维护 把硬编码内容改成 section 与 metafield,日常改文案、换图不用再找开发。

我们接的主题开发需求

  • 按 Figma 设计稿改版,包括首页、商品详情页、集合页、品牌故事页
  • 加功能区块:尺寸对照表、图文对比、倒计时、视频故事、定制器入口
  • 把硬编码内容改成可在主题编辑器里配置的 section,交给运营自助维护
  • 把第三方应用的自定义样式改到和主题一致(应用 block 样式冲突)
  • 主题性能整改:图片尺寸、脚本加载、关键 CSS、字体加载
  • 老主题迁移到 Online Store 2.0,或从其他平台主题移植

边界:哪些能在主题里改,哪些不能

主题能控制的是「展示层」:页面上显示什么、怎么排、点按钮触发什么交互。

结账页的 DOM、账户页核心流程、平台级 URL 结构改不了。涉及结账逻辑的需求要走 Function 与应用开发,不能在主题里硬算——前端算出来的价格和优惠,结账时以服务端为准,迟早出问题。

判断标准很简单:这个改动会不会影响「钱」或「订单数据」。会,就不属于主题层。

交付标准

  • 所有自定义代码集中在 snippets/custom-* 与 assets/custom-*,不直接改厂商文件
  • 交付 git 仓库(在你自己的账号下)+ 一页改动清单:改了哪些文件、为什么改、对应哪个需求
  • 提供预览主题链接,验收通过后再发布到线上
  • 上线后 30 天内免费修 bug;官方主题升级适配按次报价,不含在日常维护里

怎么报价

按功能点计价,不按「页面」计价。同样叫「改一下商品页」,加一个静态弹窗和做一个可按国家显示不同内容的弹窗,工作量差五倍。

报价前会先看店铺现状:用的哪个主题、有没有改过核心文件、装了多少应用。这三项直接决定是「加法」还是「先拆再建」。

低于市场价一半的报价,通常省掉的是测试和文档。这两项的成本会在上线后第一个大促还回去。