【问题标题】:Unable to find visitor's location in Liquid code, Shopify无法在 Liquid 代码、Shopify 中找到访问者的位置
【发布时间】:2019-06-27 12:14:36
【问题描述】:

我一直在尝试通过调整我的 Shopify 主题的液体代码来根据国家/地区过滤我的产品。但是,我遇到了一个问题,我想在我的 Liquid 代码中访问访问者所在的国家/地区,但无法做到。

我可以使用 AJAX/JQuery 来获取位置,但它在客户端运行,直到那时,液体已经在服务器端处理,这使得过滤变得不可能。

我已成功尝试使用 AJAX 获取位置,但不知道如何在 Liquid 代码中使用它。

$.getJSON("https://ipinfo.io", function(data) {
    console.log(data.country);
});

【问题讨论】:

    标签: jquery ajax geolocation shopify liquid


    【解决方案1】:

    您需要使用customer objectcustomer_address object

    您还需要先检查客户是否已登录:

    {% if customer and customer.default_address %}
        Country: {{ customer.default_address.country }}
    {% endif %}
    

    【讨论】:

    • 这是不可能的。我迫不及待地等待客户登录,以便根据客户所在的国家/地区过滤产品。
    • 如果您等不及客户,那么检查用户所在国家/地区的唯一方法是使用他们的 IP 通过地理定位,这不是 Shopify 的问题。您可能会使用第三方地理定位服务。
    【解决方案2】:

    您不能使用 Liquid 来确定国家/地区。首先,在这个 VPN 时代,它不可靠,其次 Shopify 将记录限制为分配给订单的客户 IP 地址。

    使用客户的建议是您最好的选择。如果他们没有登录,太糟糕了,你会显示通用的东西。如果他们已登录,则您可以根据地址决定向他们展示什么。请注意,即使这样也可能会给您带来一些痛苦。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-18
      • 2012-08-10
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 2022-11-25
      • 2016-07-13
      • 2015-10-29
      相关资源
      最近更新 更多