web-dev-qa-db-ja.com

Magentoの現在のユーザーですか?

製品ビューページをカスタマイズしていますが、ユーザーの名前を表示する必要があります。現在のユーザーのアカウント情報にアクセスして(ログインしている場合)名前などを取得するにはどうすればよいですか?

57
Eran Kampf

「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();
_
94
user19302

ヘルパークラスをご覧ください。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関数から、顧客がログインしているかどうかを確認することもできます。

24

次の方法で、セッションから現在のログイン顧客名を取得できます。

_$customer = Mage::getSingleton('customer/session')->getCustomer();
_

これにより、現在のログイン顧客の顧客詳細が返されます。

getName()を使用して顧客名を取得できるようになりました

_echo $customer->getName();
_
10
Deepak Mankotia

電子メールの場合、このコードを使用します

$email=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getEmail());

echo $email;
9
AK.
 $ 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(); 

顧客のデフォルトの請求先住所を取得する

5
Shorabh

次の方法で、ログインしたユーザーのすべての情報にアクセスできます。

$customer_data=Mage::getSingleton('customer/session')->getCustomer();


echo "<pre>" print_r($customer_data);
4
Alexandar

ユーザー名は、いくつかの変更を加えても同じです:

$user=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
echo $user;
4
Vexcor Systems

単に、

$current_customer = $this->_getSession()->getCustomer();

これにより顧客オブジェクトが返され、この顧客オブジェクトからすべての詳細を取得できます。

こちらです:

$email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
echo $email;
2
Fujy