虽然它列在商店范围的变量下,但是我无法让这个变量在任何结帐页面上返回一个值(我可以在其他地方)。我可以获得客户的名字或姓氏,但不是这个,甚至是他们的组名。
我想根据他们所在的群组(或某些人的某种共享客户属性)隐藏某些送货和付款选项。我知道如何隐藏和显示内容,但如何在不创建外部应用程序的情况下基于客户组(或共享属性)实现此目的?
这是我尝试过的最新方式:
<span id="variable-for-user-name">%%GLOBAL_CurrentCustomerFirstName%%</span>
<span id="variable-for-user-group">%%GLOBAL_CustomerGroupId%%</span>
<script>
console.log("footer top");
var currentUserFirstName = $.trim($('span#variable-for-user-name').text());
var currentUserGroupId = $.trim($('span#variable-for-user-group').text());
console.log(currentUserFirstName);
console.log(currentUserGroupId);
console.log("footer bottom");
</script>
我已将这些片段(HTML和JS)分开,我已将它们直接放在模板页面上,基本上我已经尝试将它们放在我可以的每个位置 - 在页面正文中的脚本标记中,在.js文件中,只使用它们与条件逻辑或控制台日志...
答案 0 :(得分:1)
事实证明,某些变量在站点范围内不可用,这就是其中之一。我的解决方案:
在购物之前,客户可以登陆几个不同的页面。在退房之前,客户将正好登上两个页面。
在每个可以访问BC全局变量的地方(以及登录,注销和帐户表单)中,我放置了一段代码,用于定义具有BC全局值的局部变量(无论是否记录)是或否),然后将其保存到sessionStorage。
每次用户点击其中一个页面时,都会使用BC global的值定义局部变量,并替换sessionStorage中的条目。
当我需要在原始BC全局变量不可用的页面上为某组客户定制功能时,我会从之前定义的sessionStorage中获取该条目。