这不是获取登录客户名称的正确方法吗?
<?php echo Mage::helper('customer')->getCustomer()->getName(); ?>
我有一个具有实时聊天功能的网站。昨天,我被要求将电子邮件地址和登录用户的名称传递到网站头部的 Javascript 跟踪变量代码中。这样运营商就可以看到谁在网站上以及他们在与谁交谈,而无需询问他们的信息。
所以我将 Magento 中的信息传递到 Javascript 代码中,但现在我看到这件非常奇怪的事情正在发生。例如,
如果我使用凭据登录姓名 = John 电子邮件 = john12@yahoo.com
然后这个名称和电子邮件变量值随着页面的变化而变化。例如,如果我单击任何产品页面,我传递的变量值会更改为其他用户的信息。
名称变为 Ricky 电子邮件变为 ricky23@gmail.com
随着页面的变化,这个变量值不断变回 john 并从 john 变为其他值。所以操作员不知道他们在说谁,因为值一直在变化。此外,用户 ricky 或更改为的用户也存在于数据库中。所以它正在从数据库中随机选择一个人。
这就是我将代码传递给javascript的方法。如果这不是传递信息的正确代码,请告诉我。请检查我用来从 Magento 获取信息的 php 代码。粗略地说,我每 5 次收到一次不正确的值。请提供一些帮助。提前致谢。
<?php
$customer = Mage::getSingleton('customer/session')->getCustomer();
$email = $customer->getEmail();
$firstname = $customer->getFirstname();
$lastname= $customer->getLastname();
$name = $firstname . ' ' . $lastname;
?>
<script type="text/javascript">
if (typeof(lpMTagConfig) == "undefined"){ lpMTagConfig = {};}
if (typeof(lpMTagConfig.visitorVar) == "undefined"){ lpMTagConfig.visitorVar = [];}
lpMTagConfig.visitorVar[lpMTagConfig.visitorVar.length] = 'Email=<?php echo $email; ?>';
lpMTagConfig.visitorVar[lpMTagConfig.visitorVar.length] = 'Name=<?php echo $name; ?>';
</script>
我还附上快照