Shopify 主题开发与 Liquid 专题
主题开发的难点不在语法,而在边界: 哪些数据在当前模板里能拿到,什么该做成 Section、theme block 还是 snippet,改动怎么在本地验证后再安全上线。下面按学习路径整理了站内相关文章,从语法一路到工程化。
一、按学习阶段选读
| 学习阶段 | 先读 | 再读 |
|---|---|---|
| 1. 入门语法 | Liquid 快速入门 | 语法详解、过滤器、标签与控制结构 |
| 2. 对象与数据 | 对象与属性 | product 对象、cart 对象、Metafields 与 Metaobjects |
| 3. Section / Snippet | 自定义分区开发 | 自定义代码片段、Section 开发:Schema 与 Liquid |
| 4. 本地开发与 CLI | Shopify CLI 教程 | 主题本地开发、开发环境搭建 |
| 5. 性能与调试 | Liquid 性能优化 | 调试与故障排除 |
| 6. 工程化与上线 | 主题工程化配置 | 测试与部署、AI 辅助主题工程化 |
一句话原则:新代码一律用
render不用include,集合循环套paginate,所有改动先在开发主题或未发布主题上验证,再发布到线上。
二、全部教程
按最近更新时间排列:
- Shopify Liquid 运算符与表达式Shopify Liquid 运算符详解:比较运算符、逻辑运算符 and/or、contains 包含判断,借助数学过滤器完成计算,复杂表达式写法与运算优先级,表达式中的类型转换陷阱,以及实际应用案例。Liquid更新于 2026-10-09
- Shopify CLI 教程Shopify CLI 中文教程(4.x):Node.js 22.12+ 环境要求、npm / Homebrew 安装与自动升级、theme dev / pull / push / check / profile 常用命令、shopify.theme.toml 多环境、store auth / execute、GitHub Actions 自动部署与常见报错排查。Shopify CLI更新于 2026-10-09
- Shopify Liquid 主题开发实战要点面向 Shopify 主题开发者的实战指南:覆盖性能、对象访问、图片处理、转义、组件化、多语言等高频问题的判断标准与代码模式。Liquid更新于 2026-08-17
- 常见模式和解决方案面向 Shopify 主题开发者的 Liquid 模式手册:空值与兜底、数组过滤用 where/map/find 而不是循环、for 的 50 条上限、转义的上下文区分、money 与货币、元字段取值,以及用原生元素而不是 JS 实现的交互模式。Liquid更新于 2026-08-17
- 自定义分区开发面向 Shopify 主题开发者的 Section 实战:讲清 section / section blocks / theme blocks / app blocks 四层的区别与选型、content_for 的两种用法、平台硬限制,以及 schema 的 limit、max_blocks、enabled_on 怎么用。SectionTheme Blocks更新于 2026-08-17
- 自定义代码片段开发面向 Shopify 主题开发者的 snippets 实战:render 的隔离作用域为什么是核心心智模型、LiquidDoc(doc 标签)怎么写出可被 theme-check 校验的参数接口、snippet 与 theme block 的分工,以及 for 循环渲染的正确用法。Liquid更新于 2026-08-17
- Liquid 布局模板开发面向 Shopify 主题开发者的 layout 实战:theme.liquid 必需的两个标签、用 section groups 取代布局里的静态 section、备用布局与 JSON 模板的 layout 属性,以及为什么不该按设备拆布局。Liquid更新于 2026-08-17
- 主题设置配置面向 Shopify 主题开发者的主题设置实战:settings_schema.json 与 settings_data.json 的关系、theme_info 必填项、常用设置类型的返回值、全局设置与 section 设置的分工判断,以及改 id 会丢配置这类真实坑位。Liquid主题设置更新于 2026-08-17
- Shopify Section 开发从零开发一个可在 Theme Editor 中复用的 Shopify Section。覆盖 Section 文件结构、schema 字段类型、settings / presets / blocks 配置、Liquid 渲染逻辑、样式与最佳实践,含完整可复制示例代码。结构化数据LiquidSection更新于 2026-05-13
- Shopify 表单 Honeypot 蜜罐反垃圾指南面向 Shopify 主题与应用开发者的表单反垃圾完整方案。覆盖 Honeypot 蜜罐原理、Shopify Contact / Newsletter 表单集成、Honeypot vs reCAPTCHA 对比、Time Trap / Rate Limit 等组合策略、命中率监控与无障碍最佳实践。表单店铺安全更新于 2026-05-13
- Shopify 主题本地开发面向 Shopify 主题工程师的本地开发完整指南。覆盖 Shopify CLI 安装、登录认证、theme pull / dev / push 工作流、热更新原理、临时主题与正式主题的同步策略、常见错误诊断、推荐 VS Code 扩展。Shopify CLI更新于 2026-05-13
- Liquid 进阶技巧面向 Shopify 主题工程师的 Liquid 进阶教程。覆盖复杂数据结构处理、动态属性访问、过滤器链式优化、循环性能、组件化与作用域管理、调试技巧。Liquid性能更新于 2026-05-12
- Shopify Metafields 与 Metaobjects 指南Shopify 元字段(Metafields)与元对象(Metaobjects)的系统化教程。覆盖概念区分、命名空间规范、字段类型、主题 Liquid 渲染、Admin / Storefront GraphQL API 读写、常见问题排查与生产实践。LiquidMetafieldsAdmin API更新于 2026-05-12
- Shopify 开发入门到进阶Shopify 开发中文指南,面向主题工程师与独立站技术负责人。覆盖 Online Store 2.0 架构、Sections everywhere、JSON templates、Liquid 开发模式、Shopify CLI 工作流、性能优化、可访问性与 SEO 集成。SEOLiquidSection更新于 2026-05-12
- Shopify Liquid 变量assign、capture、作用域、真假值与 blank;对象点号与方括号访问;与过滤器配合的常见写法及易错点Liquid更新于 2026-05-12
- Shopify Liquid 对象参考手册Shopify Liquid 核心对象总览:按页面可用性、常用属性速查、routes 与模板分支,并链到各对象详解与官方文档Liquid更新于 2026-05-06
- 高级 Liquid 技巧高级 Shopify Liquid 开发技巧:进阶过滤器组合、动态代码生成、复杂业务逻辑实现、高级数据处理与模板组织,配合性能优化写法、调试工具和最佳实践总结,适合已掌握基础语法的主题开发者。Liquid性能更新于 2026-04-16
- AI 辅助 Shopify 主题工程化在 Liquid 主题开发中如何安全、高效地使用 AI;结合 Theme Check、Git、CI 与 Code Review 的工程化流程与人机分工AI主题工程化更新于 2026-04-16
- Shopify Liquid 开发环境搭建配置 Shopify 主题开发环境:Node、Shopify CLI、编辑器、Theme Check、目录结构与常见故障LiquidShopify CLI更新于 2026-04-16
- Shopify Liquid 过滤器完全指南Shopify Liquid 过滤器速查与示例:过滤器基础语法,字符串、数字、日期、数组、图片与颜色过滤器的用法和代码示例,money 货币格式与图片 URL 等实际应用场景,以及链式调用的性能最佳实践。Liquid更新于 2026-04-16
- Shopify Liquid 快速入门从零掌握 Shopify Liquid:对象、标签、过滤器与首个可运行片段,并了解与 Online Store 2.0 的关系Liquid更新于 2026-04-16
- Shopify Liquid 对象与属性Shopify Liquid 对象详解:对象基础概念与属性访问写法,对象存在性检查,常用方法与属性,对象遍历、过滤和复杂操作,配合调试技巧与性能优化建议,帮你正确读取 product、collection 等数据。Liquid更新于 2026-04-16
- Shopify Liquid 性能优化Shopify Liquid 性能优化指南:性能指标测量与对象访问统计,数据预处理、循环迭代、过滤器与对象访问的优化写法,图片媒体懒加载、代码拆分模块化、缓存策略及移动端优化清单。Liquid性能更新于 2026-04-16
- Shopify Liquid product 对象详解Shopify Liquid product 对象完整参考:基本属性、图片与媒体、变体选择器、标签与分类、metafields 读取,以及产品页渲染的性能优化写法。Liquid产品更新于 2026-04-16
- Shopify 主题响应式设计Shopify 主题响应式设计教程:移动优先设计原则与断点设置,导航、产品网格等响应式组件实现,image_url 与 srcset 的响应式图片处理,移动端性能优化,以及多设备测试与调试方法。Liquid移动端更新于 2026-04-16
- Shopify 主题开发实战Shopify 主题开发实战:从项目架构设计、目录与组件规划,到 Section 分区、产品页、购物车等高级功能的具体实现,附完整 Liquid 与 JavaScript 代码,适合从零搭建或重构定制主题的开发者参考。SectionLiquid更新于 2026-04-16
- Shopify 主题工程化配置Shopify 主题仓库中 scripts、Theme Check、Lint 与 Husky 的工程化组织方式;示例均使用占位符,避免泄露 Theme ID 与店铺敏感信息主题工程化Shopify CLI更新于 2026-04-16
- Shopify Liquid cart 对象详解Shopify Liquid cart 对象完整参考:购物车基本信息、line_items 遍历、总价与折扣计算、购物车抽屉实现、优惠码显示与结账跳转的写法与注意事项。Liquid折扣更新于 2025-12-13
- Shopify Liquid customer 对象详解Shopify Liquid customer 对象完整参考:客户基本信息、地址增删改、订单历史渲染、营销订阅偏好、客户标签分组与个性化推荐的实现方式。Liquid订单更新于 2025-12-13
- 水波浪动画 - 5分钟快速上手指南,让您的Shopify主题瞬间高级化Shopify 水波浪动画 Section 零代码上手教程:一分钟了解效果与适用场景,三步把波浪分隔效果安装到主题,附推荐配色、使用最佳实践,以及可直接复制的完整 Liquid 源码获取方式。LiquidSection更新于 2025-10-19
- Shopify主题背景音乐播放器 - 可配置Section完整开发指南详细讲解如何在Shopify主题中开发功能完整的背景音乐播放器,支持多首歌曲、音量控制、播放模式、可视化配置等高级功能,提升店铺氛围与用户体验。Section更新于 2025-09-20
- Shopify 主题目录结构(Liquid 文件)详解Shopify 主题目录结构详解:layout、templates、sections、snippets、blocks、config、assets、locales 各目录的作用与常见文件,附 Section 示例和视频教程。LiquidSectionTheme Blocks更新于 2025-07-08
- Shopify 主题项目实战总结Shopify 主题项目的实战复盘:不同项目类型的特点与工时判断、开发工作流最佳实践、项目初始化脚本与交付前检查清单,帮你把单次改动沉淀成流程。主题工程化Liquid更新于 2025-06-18
- Shopify Liquid Ajax 实战用 Ajax 配合 Liquid 实现无刷新购物车、产品快速查看、动态搜索与筛选:Cart AJAX API 调用、Section Rendering、错误处理与通知反馈的完整代码示例。Liquid更新于 2025-06-06
- Shopify 主题代码组织与结构Shopify 主题代码组织规范:项目目录结构约定,Section 与 Snippet 的组件化拆分,settings 与配置管理,文件和变量命名约定,文档注释写法,以及适合主题项目的 Git 版本控制策略。Liquid主题工程化更新于 2025-06-06
- Shopify 主题定制化开发案例Shopify 主题深度定制案例:动态定价系统、高级库存管理与个性化推荐引擎三个完整案例,包含 Liquid 模板、Section 设置、JavaScript 核心代码与实现思路,可参考改造到自己的主题。LiquidSection更新于 2025-06-06
- Shopify Liquid 数据类型详解Shopify Liquid 数据类型详解:字符串、数字、布尔值、数组、对象,以及 nil 与 empty 的区别,数据类型转换方法、类型检查技巧和复杂数据结构示例,帮你避开判断与比较时的常见类型错误。Liquid更新于 2025-06-06
- Shopify Liquid 电商功能实现Shopify Liquid 电商功能实现:高级购物车、产品变体选择器、高级搜索、愿望清单和客户评价系统五个模块的完整代码与实现思路,覆盖 Liquid 模板与配套 JavaScript 交互。Liquid更新于 2025-06-06
- Shopify 主题开发实践应用Shopify 主题开发实战示例:智能产品搜索、动态购物车与产品图片库三个真实场景的完整实现,包含 Liquid 模板与 JavaScript 交互代码,可直接复制到主题中按需修改使用。LiquidSection更新于 2025-06-06
- Shopify Liquid 全局对象Shopify Liquid 全局对象参考:shop、request、template、settings、routes 等核心对象的可用字段,以及主题级全局对象的性能优化、调试与安全用法。Liquid更新于 2025-06-06
- Shopify Liquid 多语言与本地化Shopify 主题本地化实现:翻译键与 locale 文件、货币格式化、日期时间与地址格式、内容本地化、多语言 SEO 与 RTL 布局支持的完整做法。多语言Liquid更新于 2025-06-06
- Shopify 主题开发资源汇总Shopify 主题开发学习资源汇总:官方文档与开发者平台、教程与课程、社区论坛、开发工具生态、设计资源、营销分析工具、API 与应用开发资料、资讯订阅渠道,以及 Shopify 开发者求职与职业发展路径。Liquid学习资源更新于 2025-06-06
- Shopify 主题安全最佳实践Shopify 主题安全开发规范:输入验证与 escape 输出转义,表单 CSRF 防护,内容安全策略 CSP 配置,API 密钥等敏感信息保护,常见攻击的防范写法,以及第三方脚本与应用集成的安全检查要点。Liquid店铺安全更新于 2025-06-06
- Shopify Liquid 语法详解Shopify Liquid 语法入门:输出与标签两种标记,变量赋值、数据类型与操作符,if/unless 条件与 for 循环,render 引入片段,注释与 raw 原始内容,变量作用域、错误处理和调试技巧。Liquid更新于 2025-06-06
- Shopify Liquid 标签与控制结构Shopify Liquid 标签详解:if/unless/case 控制流、for 循环、assign/capture 变量、raw 与 comment、form 表单与 paginate 分页标签的用法示例,及性能技巧。Liquid更新于 2025-06-06
- Shopify 主题测试与部署Shopify 主题测试与部署流程:功能、响应式、浏览器兼容、性能、SEO 与可访问性测试清单,上线前的性能优化,基于 Shopify CLI 与 Git 的部署流程,以及上线后的监控、维护和回滚方法。Shopify CLI主题工程化更新于 2025-06-06
- Shopify 主题开发工作流程Shopify 主题开发工作流程:项目初始化、开发环境配置、Shopify CLI 本地开发与预览、测试与质量检查清单、Git 分支版本控制、开发/预发/生产部署策略,以及上线后的监控维护与最佳实践。Shopify CLI主题工程化更新于 2025-06-06
- Shopify 主题开发工具推荐Shopify 主题开发工具推荐:VS Code 等编辑器与 Liquid 插件,Shopify CLI 等命令行工具,构建、测试与性能监控工具,CI/CD 部署方案,浏览器 DevTools 调试工具与文档生成工具。Shopify CLIApp 管理更新于 2025-06-06
- Shopify Liquid 调试与故障排除Shopify Liquid 调试与排错指南:调试输出技巧与 json 过滤器,常见 Liquid 报错及解决方案,本地开发环境调试,浏览器开发者工具用法,性能问题定位,生产环境排查方法与调试最佳实践清单。Liquid更新于 2025-06-06
- Shopify 主题块 blocks 详解Shopify 主题块(blocks)详解:主题块、Section 块与应用块的区别,在 /blocks 目录创建可复用主题块,在 Section schema 中引用,以及在可视化编辑器中添加和配置块的方法。SectionTheme Blocks更新于 2025-04-19
三、相关但不在本专题的文章
- 主题设置完整流程 — 商家侧的副本编辑、发布与回滚
- Horizon 主题系统指南 — theme block 架构与从 Dawn 迁移
- 网站性能优化策略 — Liquid 之外的速度问题
- Shopify Script Tag 弃用 — 主题里依赖 Script Tag 的应用要迁到应用嵌入
四、常见问题(FAQ)
Q:Section、theme block 和 snippet 怎么选?
A:看两个问题:这个东西会不会在别的 section 里也想用?会就做成 theme block(放 blocks/),不会就用 section 内联 blocks;商家需要配置的做成 block,纯技术复用留给 snippet,常见组合是 block 暴露设置、内部 render snippet 干活。详见 自定义分区开发 和 自定义代码片段。
Q:为什么 for 循环商品列表少了商品?
A:{% for %} 的迭代上限是 50,集合超过 50 个商品时会静默截断,页面看着正常但少了商品,集合类循环要套 {% paginate %}。同类硬限制还有:单个 JSON 模板最多渲染 25 个 section、单个 section 最多 50 个 block。详见 自定义分区开发。
Q:shopify theme dev 会影响线上店铺吗?
A:不会。它上传的是隐藏的开发主题,访客看不到,也不占主题数量上限;但开发主题 7 天不活跃会被自动删除,shopify auth logout 时也会被删。要给客户长期预览,用 shopify theme share 或 shopify theme push --unpublished。详见 Shopify CLI 教程。
Q:render 和 include 有什么区别?
A:render 是隔离作用域,看不到调用处的变量,每个依赖都要显式传参;include 已废弃,它共享调用处作用域,还能反向修改外部变量,出问题极难排查。新代码一律用 render,并用 {% doc %} 声明参数,让 theme-check 能查出漏传和拼错。详见 自定义代码片段。
小结:主题开发与 Liquid 专题按「语法 → 对象 → Section/Snippet → 本地开发与 CLI → 性能与调试 → 工程化」的路径组织。先把数据上下文和平台硬限制弄清楚,再写组件;命令和平台限制会随 CLI 与主题架构更新,以 shopify.dev 官方文档为准。