javascript - 使用外部服务的 Shopify 自定义搜索

标签 javascript ruby-on-rails shopify shopify-app

我的情况:我们有一个 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/

相关文章:

Javascript Regex - 从字符串 html 获取 div ID

ruby-on-rails - 我可以在不创建新根的情况下删除 Rails 应用程序中的默认根吗?

ruby-on-rails - 具有未知键和强参数的 Rails 哈希

php - Shopify (liquid) - 如果页面模板等于,则将类添加到 div

shopify 购物车更改事件 - javascript

javascript - 嵌套Javascript对象的输出内容

javascript - Twitter 的 UI 为何在其 HTML5 iPhone 移动网站上响应如此之快?

ruby-on-rails - 535-5.7.8 使用 Gmail 的 Rails Mailer 不接受用户名和密码

javascript - 向 React 应用程序添加一些服务器端动态客户端 JavaScript

javascript - 如何将 Sencha Touch 2.0 合并到现有网页中?