> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 排查 Upcart 无法打开或重定向到购物车页面的问题

> Upcart cart drawer 问题的排查指南，包括抽屉无法打开、重定向到购物车页面、同时出现两个购物车、购物车无法加载，或添加商品到购物车时 Upcart 无响应。

如果客户将商品添加到购物车时 Upcart 没有打开、打开后又重定向到购物车页面、出现两个购物车，或者购物车完全不显示，本指南将帮助你识别并解决问题。

<div id="what-are-you-experiencing">
  ## 你遇到的是哪种情况？
</div>

从这里开始，直接跳转到对应的解决方案：

* [**Upcart 短暂打开后重定向到购物车页面**](#issue-1--2-upcart-redirecting-to-the-cart-page)
* [**客户被直接带到购物车页面，而不是看到 Upcart**](#issue-1--2-upcart-redirecting-to-the-cart-page)
* [**同时出现两个购物车（Upcart 和主题购物车）**](#3-change-theme-cart-type-to-page)
* [**Upcart 完全无法打开**](#issue-4-upcart-is-not-opening-at-all)

不确定属于哪种情况？请先从[步骤 1](#step-1-make-sure-upcart-is-fully-active) 开始，确认 Upcart 已完全启用，然后再深入排查具体问题。

大多数 Upcart cart drawer 问题由以下原因导致：

* Upcart 未完全启用
* 主题购物车设置与 Upcart 冲突
* Enhanced AJAX API Compatibility 配置
* 第三方应用覆盖了购物车行为
* 主题的 cart drawer 与 Upcart 冲突

请按顺序执行以下步骤，并在每次更改后进行测试。

***

<div id="step-1-make-sure-upcart-is-fully-active">
  ## 步骤 1：确保 Upcart 已完全激活
</div>

在排查其他问题之前，请先确认 Upcart 已正确启用。

<div id="1-ensure-the-cart-is-activated">
  ### 1. 确保购物车已激活
</div>

如果在 Upcart 编辑器中禁用了购物车，它将不会显示在你的店面上。

* 打开 Upcart
* 前往 **Manage all carts**
* 确认购物车已发布

<div id="2-enable-the-app-embed">
  ### 2. 启用应用嵌入
</div>

如果应用嵌入被禁用，Upcart 将无法加载。

* 前往 **Shopify Admin > Online Store > Themes > Customize**
* 打开 **App Embeds**
* 将 **Upcart 切换为开启**
* 保存

启用这些设置后，请测试你的购物车。

<img src="https://mintcdn.com/aftersell/uxKAdY-e0h16xa48/images/upcart/cart-not-opening-activate-cart-app-embed.gif?s=244802191623615202cc95d61431de84" alt="在 Shopify 后台激活 Upcart 购物车并启用其应用嵌入" width="2044" height="1080" data-path="images/upcart/cart-not-opening-activate-cart-app-embed.gif" />

***

<div id="issue-1--2-upcart-redirecting-to-the-cart-page">
  ## 问题 1 和 2：Upcart 重定向到购物车页面
</div>

如果 Upcart 短暂打开后发生重定向，或客户被直接带到购物车页面，通常是以下原因之一造成的。请逐一执行每个步骤，并在每次更改后进行测试。

<div id="1-check-checkout-button-setting-in-upcart">
  ### 1. 检查 Upcart 中的结账按钮设置
</div>

如果客户点击 Checkout 后被带回购物车页面：

1. 前往 **Upcart > Cart Editor > Settings > Cart settings**
2. 找到 **"Go to cart page when pressing checkout button"**
3. 将其**关闭**
4. 保存并测试

启用此选项时，结账按钮会被强制重定向到购物车页面，而不是继续结账。

<img src="https://mintcdn.com/aftersell/uxKAdY-e0h16xa48/images/upcart/cart-not-opening-go-to-cart-page-setting.gif?s=96670b4dedac961d37c1e39b80caea4a" alt="Upcart 购物车设置中高亮显示的 Go to cart page when pressing checkout 选项" width="1180" height="1080" data-path="images/upcart/cart-not-opening-go-to-cart-page-setting.gif" />

<div id="2-check-enhanced-ajax-api-compatibility">
  ### 2. 检查 Enhanced AJAX API Compatibility
</div>

前往 **Upcart > Cart Editor > Settings > Cart settings**，展开 **Advanced Settings**，找到 **Enhanced AJAX API Compatibility**。

此设置会改变 Upcart 处理 Add to Cart 事件的方式：

* **禁用（推荐大多数商店使用）**——Upcart 拦截 Add to Cart 调用并阻止重定向
* **启用**——Upcart 停止拦截 Add to Cart 调用，允许其他应用控制购物车行为，包括重定向

此设置**默认禁用**。仅当你的商店使用非标准的 AJAX 购物车 API 且 Upcart 未能拦截加入购物车事件时才启用它。如果启用此设置导致重定向，请禁用它并改用手动的 Upcart API（`upcartRegisterAddToCart`）。

完整指南请参阅 [Enhanced AJAX API Compatibility](/zh/upcart/enhanced_ajax_api_compatibility)。

<img src="https://mintcdn.com/aftersell/Dz_83h-jRD2tmZWk/images/upcart/cart-not-opening-enhanced-ajax-api-compatibility.gif?s=7c3a3fc600bca7b421d57241bb740a78" alt="Upcart 中的 Enhanced Ajax API compatibility 设置及其说明" width="2084" height="1080" data-path="images/upcart/cart-not-opening-enhanced-ajax-api-compatibility.gif" />

<div id="3-change-theme-cart-type-to-page">
  ### 3. 将主题购物车类型更改为 "Page"
</div>

你主题的 cart drawer 或弹窗可能正在覆盖 Upcart。

1. 前往 **Shopify Admin > Online Store > Themes**
2. 点击 **Customize**
3. 打开 **Theme Settings > Cart**
4. 将 **Cart Type** 更改为 **Page**
5. 保存并测试

将购物车设置为 "Page" 可防止主题的原生抽屉代替 Upcart 打开。

<img src="https://mintcdn.com/aftersell/uxKAdY-e0h16xa48/images/upcart/cart-type-theme-editor-settings-option.gif?s=81eef4e6af5190720b3eb86be578c605" alt="在 Shopify 主题设置中将主题 Cart type 设置为 Page" width="644" height="1080" data-path="images/upcart/cart-type-theme-editor-settings-option.gif" />

<Note>
  如果你的主题不包含 "Cart Type"（或类似）设置，请联系主题开发者以找到或添加正确的选项。Upcart 无法直接修改主题设置。
</Note>

<div id="4-disable-theme-cart-redirect-settings">
  ### 4. 禁用主题购物车重定向设置
</div>

某些主题会在添加产品后自动将客户重定向到购物车页面，完全绕过 Upcart。

1. 前往 **Shopify Admin > Online Store > Themes > Customize**
2. 打开 **Theme Settings > Products**（或 Cart）
3. 查找类似以下的设置：
   * Enable cart redirection
   * Redirect to cart after add
   * Go to cart after add
4. 将这些设置**关闭**，保存并测试

<div id="5-check-for-conflicts-with-other-apps">
  ### 5. 检查与其他应用的冲突
</div>

许多第三方应用会覆盖购物车行为。打开所有与购物车相关的应用的设置，查找类似以下的选项：

* Redirect to cart
* Go to cart after add
* Automatically open cart page
* Action after product is added

将这些选项更改为 **Stay on page** 或 **Do nothing**，并在每次调整后进行测试。

**常见应用的具体解决方法：**

* **Globo Product Options**——禁用 "Redirect to the shopping cart page after adding a product"
* **Zepto Product Personalizer**——前往 Zepto > Settings > Add to Cart Settings，将 "Action after a product is added to the cart" 更改为 "Stay on the product page and show a success message"
* **PageFly**——在 PageFly 设置中禁用所有购物车重定向或重定向规则
* **Replo**——调整 "go to page" 设置以允许 cart drawer 打开

如果你不确定是哪个应用导致了冲突，请逐一禁用与购物车相关的应用，并在每次禁用后进行测试，直到 Upcart 恢复正常。

***

<div id="issue-4-upcart-is-not-opening-at-all">
  ## 问题 4：Upcart 完全无法打开
</div>

如果客户添加商品到购物车或点击购物车图标时没有任何反应，这通常是由主题冲突或 Upcart 未检测到正确的按钮造成的。

<div id="disable-themes-native-cart-drawer">
  ### 禁用主题的原生 cart drawer
</div>

1. 前往 **Shopify Admin > Online Store > Themes > Customize**
2. 打开 **Theme Settings > Cart**
3. 将购物车类型设置为 **Page**
4. 保存

确保 Drawer 或 Popup 模式已禁用。

<div id="upcart-not-detecting-your-buttons">
  ### Upcart 未检测到你的按钮？
</div>

某些主题使用自定义代码，导致 Upcart 无法自动检测 Add to Cart 按钮或购物车图标。如果是这种情况，你可以手动指定按钮选择器。

**步骤 1：找到 class 名称**

1. 在 **Google Chrome** 中打开你的商店
2. 右键点击 **Add to Cart 按钮**或**购物车图标**
3. 点击 **Inspect**（检查）
4. 在高亮显示的代码中，查找类似以下内容：

```text theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
class="icon icon-cart"
```

或

```text theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
class="product-form__submit button"
```

只复制**一个 class 名称**（例如：`icon-cart`）。不要复制 `class=` 或引号。

<img src="https://mintcdn.com/aftersell/uxKAdY-e0h16xa48/images/upcart/cart-not-opening-devtools-find-class.gif?s=1899e34961f704c4e9919620e3159376" alt="在 Chrome DevTools 中检查购物车图标以找到其 class 名称" width="1600" height="1080" data-path="images/upcart/cart-not-opening-devtools-find-class.gif" />

**步骤 2：在 Upcart 中添加它**

在 Upcart 中输入 class 名称时，必须在其前面添加一个**点（.）**。例如：`.icon-cart`

1. 打开 **Upcart**
2. 前往 **Cart Editor > Settings > Cart settings**，然后展开 **Advanced Settings**
3. 找到你需要的选择器组：
   * **Open cart button selector**——用于购物车图标
   * **Add to cart button selector**——用于加入购物车按钮
4. 在该组的 **Options** 下拉菜单中，选择 **Add additional selector**（保留 Upcart 自身的检测并添加你的选择器）或 **Use custom selector**（仅使用你的选择器）。选择 **Use default selector** 时，**Custom selector** 字段将保持禁用状态。
5. 将 `.icon-cart` 粘贴到 **Custom selector** 中并保存

<img src="https://mintcdn.com/aftersell/uxKAdY-e0h16xa48/images/upcart/cart-not-opening-custom-open-selector.gif?s=d437f6359066a7aa26467f85611f13d2" alt="在 Upcart 高级设置中输入自定义的 Open cart button 选择器" width="1064" height="1080" data-path="images/upcart/cart-not-opening-custom-open-selector.gif" />

***

<div id="additional-troubleshooting">
  ## 其他排查方法
</div>

如果完成上述步骤后问题仍然存在，请逐一尝试以下方法，并在每次更改后进行测试。

<div id="toggle-shadow-dom-onoff">
  ### 切换 Shadow DOM（开/关）
</div>

在某些主题中，Shadow DOM 设置会影响 Upcart 检测按钮和购物车事件的方式。

1. 前往 **Upcart > Cart Editor > Settings > Cart settings**，然后展开 **Advanced Settings**
2. 找到 **Render cart in shadow DOM**
3. 切换为**开启**，保存并测试
4. 切换为**关闭**，保存并再次测试

使用能产生稳定行为的那个设置。

<div id="toggle-ajax-setting-onoff">
  ### 切换 AJAX 设置（开/关）
</div>

根据主题和应用的配置，某些商店在切换 AJAX 处理方式后表现更好。

1. 前往 **Upcart > Cart Editor > Settings > Cart settings**，然后展开 **Advanced Settings**
2. 找到 **Enhanced Ajax API compatibility**
3. 切换为**开启**，保存并测试
4. 切换为**关闭**，保存并再次测试

请注意，此设置还会禁用 Upcart 自身的 Add to Cart 处理，因此如果开启它解决了重定向问题，建议确认加入购物车功能仍按你的预期运行。请参阅 [Enhanced Ajax API compatibility](/zh/upcart/enhanced_ajax_api_compatibility)。

<div id="clear-browser-cache">
  ### 清除浏览器缓存
</div>

旧的缓存脚本可能保留了之前的购物车行为，导致 Upcart 无法正确加载。

1. 打开浏览器设置
2. 前往 **Privacy & Security**（隐私和安全）
3. 选择 **Clear Browsing Data**（清除浏览数据）
4. 清除缓存的图片、文件和 cookie
5. 刷新并测试

<div id="test-with-a-default-shopify-theme">
  ### 使用默认 Shopify 主题进行测试
</div>

1. 前往 **Shopify Admin > Online Store > Themes**
2. 添加一个免费主题，例如 Dawn
3. 临时启用它
4. 测试 Upcart

如果 Upcart 在 Dawn 上正常工作，则问题出在你的自定义主题上。请联系主题开发者寻求帮助。

<div id="disable-apps-one-by-one">
  ### 逐一禁用应用
</div>

1. 前往 **Shopify Admin > Apps**
2. 一次禁用一个与购物车相关的应用
3. 每次禁用后进行测试

当 Upcart 恢复正常时，你就找到了导致冲突的应用。

<div id="check-browser-console-for-errors">
  ### 检查浏览器控制台中的错误
</div>

1. 打开你的商店
2. 按 **F12**（或右键点击 > Inspect）
3. 打开 **Console** 选项卡
4. 向购物车添加一件产品
5. 查找错误，尤其是与 add.js 或购物车事件相关的内容
6. 截图任何错误以便提供给支持团队

***

<div id="when-to-contact-support">
  ## 何时联系支持团队
</div>

如果你已完成所有步骤而 Upcart 仍然无法正常工作，请联系支持团队并提供：

* 主题名称和版本
* 已安装的购物车相关应用列表
* 控制台错误截图
* 你已尝试过的步骤

你可以通过应用内聊天或发送邮件至 [support@upcart.app](mailto:support@upcart.app) 联系 Upcart 支持团队。
