我的情况:我们有一个 Shopify 商店,我们还有一个在 AWS 上实现和托管的搜索引擎。我们需要在 Shopify 商店中使用该搜索引擎而不是默认的/search。
理想情况下,当用户尝试搜索某些内容时,他们的查询(可能还有一些其他内容,如前端的属性选择器/复选框)将被传递到我们的搜索引擎。然后返回结果后,在前端渲染。
我的问题:我应该怎么做?
方案一:修改主题代码,注入(inject)一些javascript调用搜索引擎 (可能,但很乱)
选项 2:编写一个应用程序,将我的搜索引擎封装在应用程序中,然后以某种方式将其插入商店 (我不知道该怎么做)
方案三:和方案一类似,但是写一个app,用app给主题注入(inject)一些代码,然后以某种方式处理工作。 (我也不知道怎么做)
我在这里找到了类似的帖子:Write custom search app in shopify 但下面的答案更多是关于过滤/修改默认 shopify 引擎返回的搜索结果,我想改用我自己的搜索引擎。
最佳答案
本质上,我的问题是将用户搜索查询重定向到我的服务,并最终在用户前端呈现搜索结果。为此,我发现最好的方法是编写一个 Shopify 应用程序。
这是我的解决方案:
1,构建一个应用程序,将其托管在某个地方(可能是 ngrok),然后将其安装在商店中:( https://help.shopify.com/api/tutorials )
2、使用代理将/apps/mysearch 重定向到 App 所在的位置:( https://help.shopify.com/api/tutorials/application-proxies )
3、在商店中,向用户展示一个表单,其中action="/apps/mysearch"。
4、在app中处理表单数据,我们想干什么就干什么。最终将 View 返回到包含搜索结果的商店,确保在应用程序内部指定“Content-Type:application/liquid”,以便返回的 View 与 shopify 主题一起使用。
请注意,所有搜索都发生在 Shopify 之外。
关于javascript - 使用外部服务的 Shopify 自定义搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45927777/