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?>"
行时,只需复制该行并将其显示在需要的位置