在液体代码Shopify中找不到访客的位置

时间:2019-06-27 12:14:36

标签: jquery ajax geolocation shopify liquid

我一直在尝试通过调整Shopify主题的流动代码来按国家/地区过滤产品。但是,我遇到了一个问题,我想用我的Liquid代码访问访问者所在的国家/地区,但无法执行此操作。

我可以使用AJAX / JQuery来获取位置,但是该位置在客户端运行,在此之前,已经在服务器端处理了液体,这使得无法进行过滤。

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

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

2 个答案:

答案 0 :(得分:0)

您需要使用customer objectcustomer_address object

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

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

答案 1 :(得分:0)

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

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