57

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

4

10 に答える 10

94

「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();
于 2009-01-16T22:51:18.563 に答える
24

ヘルパー クラスを見てみましょう: 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関数から、顧客がログインしているかどうかも確認できます。

于 2011-02-27T18:08:53.690 に答える
10

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

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

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

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

echo $customer->getName();
于 2014-12-16T09:20:53.060 に答える
9

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

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

echo $email;
于 2009-12-12T16:45:39.120 に答える
4

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

$user=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
echo $user;
于 2010-06-21T17:04:45.650 に答える
4

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

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


echo "<pre>" print_r($customer_data);
于 2013-07-22T07:30:04.027 に答える
2

こちらです:

$email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
echo $email;
于 2010-11-12T00:02:09.130 に答える
-5

私はこれを頭の中で知りませんが、ユーザーがログインした後、ページのヘッダーにあるユーザーの名前などを示すファイルを調べます。テンプレートのヒントを有効にすると役立つ場合があります (これを参照)。チュートリアル

のような行を見つけたら、"Hello <? //code for showing username?>"その行をコピーして、必要な場所に表示します。

于 2009-01-06T13:50:27.423 に答える