製品ビューページをカスタマイズしていますが、ユーザーの名前を表示する必要があります。現在のユーザーのアカウント情報にアクセスして(ログインしている場合)名前などを取得するにはどうすればよいですか?
「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;
$ customer = Mage :: getSingleton( 'customer/session')-> getCustomer(); $ customerAddressId = Mage :: getSingleton( 'customer/session')-> getCustomer()- > getDefaultBilling(); $ address = Mage :: getModel( 'customer/address')-> load($ customerAddressId); $ fullname = $ customer-> getName(); $ firstname = $ customer-> getFirstname(); $ lastname = $ customer-> getLastname(); $ email = $ customer-> getEmail(); $ taxvat = $ customer-> getTaxvat(); $ tele = $ customer-> getTelephone(); $ telephone = $ address-> getTelephone(); $ street = $ address-> getStreet(); $ City = $ address-> getCity(); $ region = $ address-> getRegion(); $ postcode = $ address-> getPostcode();
顧客のデフォルトの請求先住所を取得する
次の方法で、ログインしたユーザーのすべての情報にアクセスできます。
$customer_data=Mage::getSingleton('customer/session')->getCustomer();
echo "<pre>" print_r($customer_data);
ユーザー名は、いくつかの変更を加えても同じです:
$user=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
echo $user;
単に、
$current_customer = $this->_getSession()->getCustomer();
これにより顧客オブジェクトが返され、この顧客オブジェクトからすべての詳細を取得できます。
こちらです:
$email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
echo $email;