在Shopify中添加cookie

时间:2017-12-09 01:46:10

标签: javascript php shopify

我正在尝试在我的商店中添加cookie值。 Javascript不是一个选项,因为cookie的内容需要在客户端页面源上不可见。

在PHP服务器中,使用如下代码完成:

<?php
$cookie_name = "PHPsecret";
$cookie_value = "The secret";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>

有人可以帮我在Shopify帮助我吗?即使它可以通过一些解决方法来完成,例如操纵购物车属性等,也没关系。让我知道如何。

非常感谢。

1 个答案:

答案 0 :(得分:0)

我需要使用 cookie 将 Shopify 变量 {{ cart.item_count }} 传递给子域。对我来说,在 theme.liquid 底部的 Javascript 中添加这个就行了:

<script>
  var nowCart = new Date();
  var timeCart = nowCart.getTime();
  var expireTimeCart = timeCart + 1000*36000;
  nowCart.setTime(expireTimeCart); // " + nowCart.toUTCString() + "
  document.cookie = "_count={{ cart.item_count }};domain=.example.com;expires=;SameSite=none;Secure=true";
</script>

</body>
</html>

在 Shopify Liquid 中,据我所知,没有办法“隐藏”cookie。事实上,任何知道如何打开他们的开发工具的人都可以通过任何一种方式读取你的 cookie ......它真的需要保密吗(考虑将其添加到液体变量中)?

我建议的下一个最佳选择是将您的 Javascript 放入 theme.liquid 的资产文件夹中的单独 .js 文件中,并将其包含在您的主题中,例如 {{ "cookie-code.js" | asset_url | script_tag }}

再一次,如果用户可以打开开发工具,他们仍然可以读取您的 cookie 或查看您的 javascript 文件。也许更详细地说明您想要实现的目标是什么?