【问题标题】:How can I use a Shopify app proxy within a product page?如何在产品页面中使用 Shopify 应用代理?
【发布时间】:2019-02-07 15:17:23
【问题描述】:

基本上,我们希望在 Shopify 产品页面上向已登录的客户显示一个按钮。该按钮将使用我们的应用程序调用外部 API。

我想使用应用代理,但似乎我们无法在产品页面上执行应用代理,但从技术上讲,我们可以通过 Ajax 调用在产品页面上调用应用代理。我们可以将按钮注入页面,但我们仍需要该按钮才能调用应用程序。

猜我们可以在 iframe 中加载按钮?

有人知道如何做到这一点的最佳做法吗?谢谢!

【问题讨论】:

    标签: shopify liquid


    【解决方案1】:

    这是我使用的配方,效果很好,似乎可以回答您的用例。

    在产品页面上,您可以使用 Liquid 了解客户是否已登录。因此,您可以在您想要的位置呈现按钮,并确保有 Javascript 来处理按钮点击。由于您正在渲染一个按钮和 Javascript,因此您还可以对您的 App Proxy 进行回调是有道理的。也许单击按钮会向代理发送客户 ID,您的 API 调用会查找客户,然后您会为他们生成独角兽。您的 App Proxy 返回 Liquid 或仅返回 JSON,因此回调可以为您呈现 HTML 或将 JSON 转换为客户的内容。

    对我来说很好用。尝试一下。你可能会喜欢。

    【讨论】:

    • 嘿,大卫,这太完美了!回顾一下……通过 Shopify 可以正常使用的产品页面。在产品页面中,我们检查通过 Liquid 登录的客户,如果是,则呈现按钮。单击后,jQuery 通过 App Proxy 向我们的 API 发出 Ajax 调用,并传递客户 ID。猜猜我们也可以发送一个密钥。我们的 API 通过 App Proxy 接收调用,然后在外部为该用户执行任何需要执行的操作,例如将该产品添加到订阅中。然后我们的 API 可以将 JSON 返回到原始 Ajax 请求,并且我们可以在产品页面中显示验证。听起来对吗?
    • 不,您没有传递任何密钥。 App Proxy 的重点是您对 /app/fizzbuzz 之类的东西进行 Ajax 调用,Shopify 确保它以您可以检查的安全性到达您的 App 端点。所以你永远不会在前端传递秘密。一个经典的 N00b 错误。
    • 有道理。这对我来说是全新的;)感谢您的帮助!
    • 很好奇...包含液体的页面是否在其他地方的服务器上但通过应用代理在 Shopify 主题内提供服务是否与父 Shopify 对象有任何连接?客户、产品等......我假设不仅仅是好奇。有趣的是它可以呈现液体。
    • 是的。因此,聪明人可以返回带有自定义数据的 Liquid,而通常的嫌疑人(产品、客户)则允许 Shopify 填补这些空白。因此,“设计师”可以使用自定义 Liquid 标签为液体设置样式,外部服务器会填写这些标签,而将常用标签留给 Shopify。我以美术馆为例。 Proxy 填写艺术家姓名、原籍国、画廊或博物馆展览等数据,然后返回 Liquid 以由 Shopify 渲染,其中包含典型的产品......比如艺术家的画作。
    猜你喜欢
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多