.additional-checkout-buttons 选择器是 Shopify 自身用于加速结账容器的类名,并非 Upcart 模块的类名,因此在任一购物车版本上都相同。
概述
新模块的必要设置
<body> 开始标签的下方(例如 <body class="...">)。如果放置位置不正确,例如放在 </body> 结束标签之后,快捷结账按钮可能无法正常工作。
如何修复
- 前往你的 Shopify 后台。
- 导航到 Online Store > Themes > Edit Code。
- 打开 layout/theme.liquid,找到
<body>所在行,并在其正下方新起一行添加以下代码片段。它必须放在这里——而不是cart-drawer.liquid或其他位置——因为按钮必须存在于购物车可能打开的每个页面上。
- 保存更改并刷新你的店面。
- 重新打开购物车抽屉,验证快捷结账按钮(例如 Shop Pay、PayPal、Apple Pay 或 Google Pay)现在能否显示并可点击。
为什么会发生这种情况
- Upcart 不会渲染自己的按钮。它会将页面上 Shopify 的加速结账按钮克隆到购物车抽屉中,这就是为什么这些按钮必须首先存在于页面上——而上方的主题代码片段正是为此提供保障。
- Apple Pay 只会在已设置 Apple Pay 的 Apple 设备上显示。
- Upcart 无法控制显示哪些快捷按钮,因为其内容和功能均由 Shopify 处理。
Upcart 中的按钮充当视觉容器,而 Shopify 控制其显示和行为。Upcart 无法修改它们的外观或功能。
常见问题及修复方法
- 按照上方如何修复中的说明,在
layout/theme.liquid中<body>行的正下方添加主题代码片段。
一些主题默认使用 CSS 隐藏快捷按钮。例如:
- 检查你主题的 CSS。
- 请你的主题开发者确保没有 CSS 规则在 Upcart 抽屉中隐藏或禁用这些按钮。
4. 旧版设置产生干扰
- 打开旧版 Express Payments 模块(如果仍然可见)。
- 取消勾选所有先前的选项并保存。
- 使用新模块再次测试。
仍然有问题?
在 Upcart 中禁用 Shadow DOM
Shadow DOM 将 Upcart 与商店的其他代码隔离,以提高稳定性。但在极少数情况下,这种隔离会阻止 Shopify 的快捷按钮正确更新。 如何禁用 Shadow DOM:
- 前往 Upcart > Cart Editor > Settings > Cart settings,然后展开 Advanced Settings。
- 取消勾选 Render Cart in Shadow DOM。
- 保存并再次测试。
关闭 Shadow DOM 后请务必测试你的购物车,因为这可能会影响其他应用或主题元素与 Upcart 的交互方式。 💡 注意: 禁用 Shadow DOM 可能会解决此问题,但可能会引入与主题的 CSS 冲突。有关完整的利弊权衡,请参阅 Shadow DOM 设置文档。
需要更多帮助?
- 联系你的主题开发者,帮助移除产生冲突的代码或设置。
- 你也可以联系 Shopify 专家获取高级主题编辑或集成方面的协助。
参考资料
- Shopify 帮助 – 加速结账(Accelerated Checkouts)
- Shopify 开发者文档 – 快捷支付按钮(Express Payment Buttons)