Текущий пользователь Magento?

Я настраиваю страницу просмотра продукта, и мне нужно показать имя пользователя. Как получить доступ к информации об учетной записи текущего пользователя (если он вошел в систему), чтобы получить имя и т. Д.?

Найдено в разделе «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() получит вашего текущего зарегистрированного клиента;)

Чтобы получить текущий вход в систему admin:

 Mage::getSingleton('admin/session')->getUser(); 

Взгляните на класс помощника: Mage_Customer_Helper_Data

Чтобы просто получить имя клиента, вы можете написать следующий код:

 $customerName = Mage::helper('customer')->getCustomerName(); 

Для получения дополнительной информации о идентификаторе объекта клиента, идентификаторе сайта, электронной почте и т. Д. Вы можете использовать функцию getCustomer . Следующий код показывает, что вы можете получить от него: –

 echo "<pre>"; print_r(Mage::helper('customer')->getCustomer()->getData()); echo "</pre>"; 

Из класса помощника вы также можете получить информацию о URL-адресе для входа в систему, указать URL-адрес, URL-адрес выхода и т. Д.

Из функции isLoggedIn в вспомогательном классе вы также можете проверить, зарегистрирован ли клиент или нет.

для Email используйте этот код

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

Вы можете получить текущее имя пользователя входа из сеанса следующим образом:

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

Это вернет детали клиента текущего клиента входа.

Теперь вы можете получить имя клиента, используя getName()

 echo $customer->getName(); 

Для имени пользователя то же самое с некоторой модификацией:

 $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); 
 $ customer = Mage :: getSingleton ('customer / session') -> getCustomer ();
     $ customerAddressId = Mage :: getSingleton ('customer / session') -> getCustomer () -> getDefaultBilling ();
     $ address = Mage :: getModel («клиент / адрес») -> load ($ customerAddressId);
     $ fullname = $ customer-> getName ();
     $ firstname = $ customer-> getFirstname ();
     $ lastname = $ customer-> getLastname ();
     $ email = $ customer-> getEmail ();
     $ taxvat = $ customer-> getTaxvat ();
     $ tele = $ customer-> getTelephone ();
     $ phone = $ 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(); 

Это возвращает объект клиента, после чего вы можете получить все детали от этого объекта клиента.

Я не знаю этого с головы, но посмотрите в файле, который показывает имя пользователя и т. Д. В заголовке страницы после входа пользователя в систему. Это может помочь, если вы включили подсказки шаблонов (см. Это учебник .

Когда вы найдете строку, такую ​​как "Hello <? //code for showing username?>" , Просто скопируйте эту строку и покажите ее там, где вам нужно