【问题标题】:How to auto install App's Code in Shopify Theme?如何在 Shopify 主题中自动安装应用程序代码?
【发布时间】:2016-05-15 18:24:49
【问题描述】:

Shopify 店主安装任何应用程序后,多个应用程序提供将应用程序代码一键安装到活动主题文件中的功能。根据我的猜测,这涉及到两个步骤。

  1. 向主题文件添加新的片段、资产。
  2. 编辑模板或现有 sn-ps 以包含对 App 在 #1 中添加的片段的引用。

虽然 #1 相当简单并且可以自动完成,但 #2 需要高度精确的逻辑,以免应用破坏店面。

我正在寻找任何想法、算法或逻辑来自动执行第 2 步。我想过以下方法,但它并非万无一失。

假设一个应用想要在 Add to Cart 按钮附近包含一个代码,它可以解析 product.liquid 文件并搜索关键字“/cart”并附加附近的代码。或者,它可以查找</form> 并将代码附加到它旁边。

但是,当“添加到购物车”按钮在 product.liquid 中不存在并且已从属于 product-block.liquid 之类的东西时,上述两种方法都会失败。

如果某些应用尝试将代码添加到 Collection.liquid,此逻辑可能会变得更加复杂和易受攻击。当我们考虑到 Shopify 主题商店中有 350 多个主题并且无法测试应用程序以集成到所有这些主题时,这就变得复杂了。

我的问题是,在 Shopify 主题中安装应用程序代码的最佳策略是什么?

对于我们的应用程序Smart Wishlist,我们会手动安装应用程序的代码,但这不被视为对商家友好,并且需要太多的支持时间。我们正在尝试开发一些万无一失的自动化方法来在主题文件中安装代码。

我们竭诚欢迎任何建议、想法、替代方案。

【问题讨论】:

    标签: web-applications e-commerce shopify liquid saas


    【解决方案1】:

    这不是关于此事的详细答案,但正如您所说,您使用资产然后使用 {% include 'my_asset' %} 修改流动文件的想法就足够了。对于您要添加按钮的部分,我的建议是使用添加到购物车表单的一些“标准”元素,例如“购物车/添加”的操作。这意味着通过使用 jQuery,如果此表单存在(通过其“操作”字段找到它)将您的按钮添加到那里。我希望这能给你一些想法。

    更新: 对于#2,我会使用 Shopify API 来: 1)找到“主要”主题。 2)取其价值。 3) 找到像</body></head> 这样适合您的标准标签。 4) 仅通过字符串操作将我的包含添加到它的值中,然后将其再次发布回客户端。这需要小心操作,因为您可能会破坏东西,但如果您知道自己在做什么,我认为它足够安全。

    【讨论】:

      【解决方案2】:

      也许是针对表单结束标签?或者更好的是我会说的表单中的提交字段。

      编辑:对不起,我回答得太快了。我刚刚阅读了有关 sn-p 包含的行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多