如何使用 Shopify 应用程序中的一个脚本编辑不同的 shopify 店面

How to edit different shopify storefront with one script from Shopify app

我的 Shopify 应用需要编辑店面以更改现有元素。在 Shopify 中有两种更改店面代码的方法

  1. 编辑液体主题文件
  2. 添加带有资产的客户端JS API

但是,不同的商家在他们的商店中使用不同的主题。我的应用程序有什么方法可以与每个主题一起使用,或者我如何编写支持最大主题的脚本?如果您能提供一些提示或分享您对此问题的想法,将非常有帮助。

你错了,还有更多的方法。

在店面 2.0 上,您可以创建 theme app extension 这是今天推荐的方式。

更新:在 2.0 上,您应该建议您的客户用您的部分替换他们的部分,这是目前最干净且推荐的方法。

1.0 在很大程度上取决于您的项目复杂性或您的应用程序接触的代码部分...

许多应用程序使用 the theme Rest API,这样您就可以在应用程序安装脚本中添加一个步骤来下载已发布的主题。之后有 2 个选项:

  1. 您可以搜索和替换特定内容,您可以编写脚本然后读取主题文件并替换您需要替换的内容,然后自动执行更改并在商店中重新发布您的更改。更快无人为干预

  2. 使用下载的代码轻松阅读并使用 IDE 手动替换代码,然后使用相同的 API 手动上传您的更改。慢,需要人工干预但更灵活。

您现在可以从选项 2 开始,然后继续为选项 1 开发脚本。

在搜索更多有关此问题的信息后,我得到了一些见解,例如不幸的是我们无法使用相同的脚本编辑不同的主题,因为每个主题可能非常不同。一些主题甚至可能在这部分有不同的文件名,或者它们可能有完全不同的 HTML 结构。

没有简单通用的方法来解决这个问题。方式之一:

您可以在主题文件中进行一些试探,并尝试找到插入代码的正确位置。例如,langify 就是这样做的。它正在扫描整个主题并找到插入代码的位置。

您可以要求客户手动添加您的代码。许多应用程序正在这样做,因为它会导致更少的错误。您只需要准备详细的手册如何正确设置即可。