Magento当前用户?

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

在“app / code / core / Mage / Page / Block / Html / Header.php”下find:

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()将得到您当前login的客户;)

要获取当前login的pipe理员:

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

从助手类,你也可以得到有关客户loginurl,注册url,注销url等信息。

从助手类中的isLoggedIn函数中,还可以检查客户是否已login。

对于电子邮件使用此代码

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

您可以通过以下方式从会话中获取当前login客户名称:

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

这将返回当前login客户的客户详细信息。

现在您可以使用getName()获取客户名称

 echo $customer->getName(); 

对于用户名是相同的一些修改:

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

以下方式可以访问login用户的所有信息。

 $customer_data=Mage::getSingleton('customer/session')->getCustomer(); echo "<pre>" print_r($customer_data); 
 $ 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();

这条路:

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

只是,

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

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

我不知道这是我的头顶,但在用户login后,在页面的标题中查看显示用户名称等的文件。如果您打开模板提示(请参阅此教程 。

当你find诸如"Hello <? //code for showing username?>"行时,只需复制该行并将其显示在需要的位置