Я настраиваю страницу просмотра продукта, и мне нужно показать имя пользователя. Как получить доступ к информации об учетной записи текущего пользователя (если он вошел в систему), чтобы получить имя и т. Д.?
Найдено в разделе «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?>"
, Просто скопируйте эту строку и покажите ее там, где вам нужно