# 应用扩展

> 扩展让 Shoplazza 应用无需商家改代码就能嵌入平台：对比在线店铺与结账两类扩展载体并选择合适的一种。

扩展（Extension）是为 Shoplazza 应用增加能力的组件。它不能独立存在，必须依附于一个应用——用应用的工具链生成、随应用一起部署、在商家安装应用时一并启用。

扩展按它最终**出现的位置**（surface）来归类。当前提供两类 surface。

- [在线店铺](/zh-CN/docs/app/extensions/online-store): 主题扩展（Theme Extension）让你无需修改主题源代码，就能把自定义内容和区块注入任意兼容主题。
- [结账](/zh-CN/docs/app/extensions/checkout): 结账扩展让应用在结账流程的指定位置插入自定义 UI，并读取实时结账上下文数据——不接管整个结账页面。

## 在线店铺

在线店铺是商家的店面，顾客在此浏览和购买商品。主题扩展（Theme Extension）让你无需修改主题源代码，就能把自定义内容和区块注入任意兼容主题——商家直接在主题编辑器中添加或启用你的扩展，版本随应用自动同步。

主题扩展有两种类型：

*   **基础型（Basic）**：可视化区块，商家在主题编辑器中手动放置到指定位置。
*   **嵌入型（Embed）**：全局嵌入、无固定位置，常用于全站脚本、跟踪像素或挂件，商家在主题设置中开启。

如何开始：[构建主题扩展](/zh-CN/docs/app/extensions/online-store/add-theme-extension)。

## 结账

结账是顾客完成购买的环节。结账扩展让应用在结账流程的指定位置插入自定义 UI，并读取实时结账上下文数据——不接管整个结账页面。

提供两项能力：

*   **插入内容**：在结账扩展目标（ExtensionTarget）渲染自定义 UI。
*   **读取数据**：通过 CheckoutAPI 访问购物车金额、配送信息和买家数据。

如何开始：[构建结账扩展](/zh-CN/docs/app/extensions/checkout/add-checkout-extension)。

## 下一步

*   **[主题扩展参考](/zh-CN/docs/app/extensions/online-store/reference)** — 配置项、Liquid Schema 与本地化参考。
*   **[结账扩展参考](/zh-CN/docs/app/extensions/checkout/extension-reference)** — `extend` 函数、HTML 模板机制与隐藏原生模块。
*   **[结账扩展点](/zh-CN/docs/app/extensions/checkout/extension-points)** — 可以插入内容的全部插槽，按页面区域分组。
*   **[CheckoutAPI 参考](/zh-CN/docs/app/extensions/checkout/checkout-api)** — `window.CheckoutAPI` 的全部命名空间：数据、事件与类型定义。
*   **[结账扩展场景示例](/zh-CN/docs/app/extensions/checkout/extension-recipes)** — 常见结账场景的实现示例。
