これは、ログインしている顧客の名前を取得する正しい方法ではありませんか?
<?php echo Mage::helper('customer')->getCustomer()->getName(); ?>
ライブチャット機能を備えたウェブサイトを持っています。昨日、私は電子メール アドレスとログインしているユーザーの名前を、Web サイトのヘッド セクションに配置された Javascript 追跡変数コードに渡すように求められました。そのため、オペレーターは、情報を尋ねることなく、誰が Web サイトにアクセスしており、誰と話しているかを確認できます。
そのため、Magento からの情報を Javascript コードに渡しましたが、この非常に奇妙なことが起こっていることがわかりました。例えば、
資格情報でログインしている場合 名前 = ジョン 電子メール = john12@yahoo.com
次に、この名前と電子メール変数の値は、ページの変更に伴って変化しています。たとえば、製品ページをクリックすると、渡す変数の値が他のユーザーの情報に変更されます。
名前は Ricky になります メールは ricky23@gmail.com になります
この変数の値は、ページの変更に伴って john に戻ったり、john から別のものに変わったりし続けます。したがって、値が変化し続けるため、オペレーターは誰が話しているのかわかりません。また、ユーザー ricky またはそれが変更されたユーザーもデータベースに存在します。そのため、データベースからランダムに人物をピックアップしています。
これは、コードをjavascriptに渡すために私がしたことです。情報を渡すための正しいコードでない場合はお知らせください。Magento から情報を取得するために使用している php コードを確認してください。おおよそ、5回に1回、間違った値を受け取ります。助けてください。前もって感謝します。
<?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>
スナップショットも貼っておきます