製品ビュー ページをカスタマイズしていて、ユーザーの名前を表示する必要があります。現在のユーザーのアカウント情報 (ログインしている場合) にアクセスして、名前などを取得するにはどうすればよいですか?
10 に答える
「app/code/core/Mage/Page/Block/Html/Header.php」の下にあります:
public function getWelcome()
{
if (empty($this->_data['welcome'])) {
if (Mage::app()->isInstalled() && Mage::getSingleton('customer/session')->isLoggedIn()) {
$this->_data['welcome'] = $this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
} else {
$this->_data['welcome'] = Mage::getStoreConfig('design/header/welcome');
}
}
return $this->_data['welcome'];
}
Mage::getSingleton('customer/session')->getCustomer()
したがって、現在ログインしている顧客を取得するように見えます;)
現在ログインしている管理者を取得するには:
Mage::getSingleton('admin/session')->getUser();
ヘルパー クラスを見てみましょう: Mage_Customer_Helper_Data
単純に顧客名を取得するには、次のコードを記述できます:-
$customerName = Mage::helper('customer')->getCustomerName();
顧客のエンティティ ID、Web サイト ID、電子メールなどの詳細については、getCustomer関数を使用できます。次のコードは、そこから得られるものを示しています:-
echo "<pre>"; print_r(Mage::helper('customer')->getCustomer()->getData()); echo "</pre>";
ヘルパー クラスからは、顧客のログイン URL、登録 URL、ログアウト URL などの情報も取得できます。
ヘルパー クラスのisLoggedIn関数から、顧客がログインしているかどうかも確認できます。
次の方法で、セッションから現在のログイン顧客名を取得できます。
$customer = Mage::getSingleton('customer/session')->getCustomer();
これにより、現在ログインしている顧客の顧客詳細が返されます。
を使用して顧客名を取得できるようになりましたgetName()
echo $customer->getName();
電子メールの場合、このコードを使用します
$email=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getEmail());
echo $email;
ユーザー名の場合は、いくつかの変更を加えて同じです:
$user=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
echo $user;
次の方法で、ログインしたユーザーからすべての情報にアクセスできます。
$customer_data=Mage::getSingleton('customer/session')->getCustomer();
echo "<pre>" print_r($customer_data);
こちらです:
$email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
echo $email;
私はこれを頭の中で知りませんが、ユーザーがログインした後、ページのヘッダーにあるユーザーの名前などを示すファイルを調べます。テンプレートのヒントを有効にすると役立つ場合があります (これを参照)。チュートリアル。
のような行を見つけたら、"Hello <? //code for showing username?>"
その行をコピーして、必要な場所に表示します。