如何根据shopify中之前保存的cookie加载特定代码段?

时间:2014-12-09 13:31:35

标签: cookies variable-assignment shopify

如何根据之前保存的Cookie加载特定代码段? 我想做点什么:

<script type="text/javascript">
    var x = readCookie('cop');
    if (!x) {
      createCookie('cop', 1, 10000);
      {% assign cookie = true %}   
    }else{
      {% assign cookie = false %}
    }
</script>

{% if cookie %}
    {% include 'landing' %}
{% else %}
    {% include 'another_landing' %}
{% endif %}

但每次都会为cookie分配值'else'(false),即使条件输入也是如此。

我删除了cookie'cop',但是在创建变量之后,cookie立即将assignet值设置为'false',所以永远不要取值'true'。我不明白问题出在哪里。我可以澄清一下吗?

1 个答案:

答案 0 :(得分:2)

为了解决您的困惑,当Shopify呈现模板(包括片段)时,它会在信息服务器端执行操作。设置cookie是客户端操作。因此,您无法使用cookie影响Liquid渲染。如果要包含基于cookie的代码段,则应将代码段的结果呈现为DOM(可能隐藏为默认值),然后根据cookie的存在与否将其暴露给客户端。