Я настраиваю страницу просмотра продукта, и мне нужно показать имя пользователя. Как получить доступ к информации учетной записи текущего пользователя (если он вошел в систему), чтобы получить имя и т.д.?
Текущий пользователь Magento?
Ответ 1
Найдено в разделе "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();
Ответ 2
Взгляните на класс помощника: Mage_Customer_Helper_Datastrong >
Чтобы просто получить имя клиента, вы можете написать следующий код: -
$customerName = Mage::helper('customer')->getCustomerName();
Для получения дополнительной информации об идентификаторе объекта клиента, идентификатора сайта, электронной почты и т.д. вы можете использовать функцию getCustomer. Следующий код показывает, что вы можете получить от него: -
echo "<pre>"; print_r(Mage::helper('customer')->getCustomer()->getData()); echo "</pre>";
Из вспомогательного класса вы также можете получить информацию о URL-адресе для входа в систему, URL-адрес регистрации, URL-адрес выхода и т.д.
В функции isLoggedIn в классе-помощнике вы также можете проверить, зарегистрирован ли клиент или нет.
Ответ 3
для Email используйте этот код
$email=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getEmail());
echo $email;
Ответ 4
Вы можете получить текущее имя пользователя входа из сеанса следующим образом:
$customer = Mage::getSingleton('customer/session')->getCustomer();
Это вернет сведения о клиенте текущего клиента входа.
Теперь вы можете получить имя клиента, используя getName()
echo $customer->getName();
Ответ 5
Для имени пользователя то же самое с некоторой модификацией:
$user=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
echo $user;
Ответ 6
Ниже вы можете получить доступ ко всей информации от зарегистрированного пользователя.
$customer_data=Mage::getSingleton('customer/session')->getCustomer();
echo "<pre>" print_r($customer_data);
Ответ 7
$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();
Ответ 8
Таким образом:
$email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
echo $email;
Ответ 9
Просто,
$current_customer = $this->_getSession()->getCustomer();
Возвращает объект клиента, затем вы можете получить все детали от этого объекта клиента.
Ответ 10
Я не знаю этого с головы, но посмотрите в файле, который показывает имя пользователя и т.д. в заголовке страницы после входа пользователя. Это может помочь, если вы включили подсказки шаблона (см. этот учебник.
Когда вы найдете строку типа "Hello <? //code for showing username?>"
, просто скопируйте эту строку и покажите ее там, где вам нужно