我正在自定义产品视图页面,我需要显示用户的名字。 如何访问当前用户的帐户信息(如果他已登录)以获取姓名等?

有帮助吗?

解决方案

在<!>下找到; 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,网站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();

获取客户默认结算地址

对于用户名与某些修改相同:

$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;

简单地说,

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

这将返回客户对象,然后您可以从此客户对象获取所有详细信息。

我不知道这个问题,但在用户登录后查看页面标题中显示用户姓名等的文件。如果您打开模板提示,可能会有所帮助(参见

scroll top