Текущий пользователь в Magento? - PullRequest
57 голосов
/ 06 января 2009

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

Ответы [ 10 ]

94 голосов
/ 17 января 2009

Найдено в «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();
24 голосов
/ 27 февраля 2011

Посмотрите на класс помощника: Mage_Customer_Helper_Data

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

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

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

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

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

С помощью функции isLoggedIn в классе помощника вы также можете проверить, вошел ли клиент в систему или нет.

10 голосов
/ 16 декабря 2014

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

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

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

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

echo $customer->getName();
9 голосов
/ 12 декабря 2009

для электронной почты используйте этот код

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

echo $email;
5 голосов
/ 23 сентября 2014
$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();

Получить адрес по умолчанию для выставления счета

4 голосов
/ 22 июля 2013

Следующим способом вы можете получить доступ ко всей информации от зарегистрированного пользователя.

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


echo "<pre>" print_r($customer_data);
4 голосов
/ 21 июня 2010

Для имени пользователя то же самое с некоторыми изменениями:

$user=$this->__('Welcome, %s!', Mage::getSingleton('customer/session')->getCustomer()->getName());
echo $user;
2 голосов
/ 16 декабря 2014

Просто

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

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

2 голосов
/ 12 ноября 2010

Таким образом:

$email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
echo $email;
0 голосов
/ 06 января 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...