【问题标题】:How can I get the cart's shipping address in the cart.liquid file?如何在 cart.liquid 文件中获取购物车的送货地址?
【发布时间】:2019-02-07 03:11:49
【问题描述】:

我正在尝试根据用户当前的送货地址更改税费和送货方式提示。显然,他们还没有结帐,所以还没有机会输入他们的送货地址。在这个阶段我还有什么可以检查的,以确定他们来自哪个国家/地区?

{% if shipping_address.country_code = 'CA' %}
    <p class="cart-message meta">INCLUDING TAX AND SHIPPING (U.S. AND CANADA)</p>
{% else %}
    <p class="cart-message meta">{{ 'cart.general.tax_and_shipping' | t }} (INTERNATIONAL)</p>
{% endif %}

【问题讨论】:

  • 只有液体,您无法获得位置或运输。您将需要某种 API 或应用程序来实现这一点。

标签: ruby shopify liquid


【解决方案1】:

只有访问者已经登录才能访问 cart.liquid 的送货地址。否则,您可以使用第三方工具显示特定国家/地区的特定 div。

<script>
var txt = httpGet("https://ipapi.co/json/");
var obj = JSON.parse(txt);
var country = obj.country;

function httpGet(theUrl)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
    xmlHttp.send( null );
    return xmlHttp.responseText;
}
if(country == "CA"){
    // Show Div
}else{
  // Show Other Div
}        

</script>

注意:IP 用于查找访问者的位置。

【讨论】:

  • 我将脚本放在 template-cart.liquid 的顶部,但在控制台中显示 ReferenceError: x is not defined。也许把脚本放在底部?
  • 老兄,我不觉得你从这段代码中得到了这个错误。请通过输入 alert(country);exit; 来运行调试您可以尝试在 Localhost 上单独运行此代码。
猜你喜欢
  • 2015-03-24
  • 1970-01-01
  • 1970-01-01
  • 2016-10-17
  • 1970-01-01
  • 1970-01-01
  • 2015-09-13
  • 2011-11-27
  • 1970-01-01
相关资源
最近更新 更多