Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Как получить параметры зарегенного пользователя? 
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

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

 
Magento Community Magento Community
Magento Community
Magento Community
 
alexweb
Sr. Member
 
Avatar
Total Posts:  79
Joined:  2008-09-26
Gomel, Belarus
 

$customer Mage::getSingleton('customer/session');
if (
$customer->isLoggedIn()) {
  
echo $customer->getCustomer()->getName();
  echo 
$customer->getCustomer()->getPrimaryShippingAddress()->getStreetFull();
  echo 
$customer->getCustomer()->getPrimaryShippingAddress()->getCountry();
}
 
Magento Community Magento Community
Magento Community
Magento Community
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

Ого! круто! спасибо большое smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
mkII
Sr. Member
 
Total Posts:  79
Joined:  2009-02-24
 

А группу, к которой принадлежит пользователь, можно получить?

 
Magento Community Magento Community
Magento Community
Magento Community
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

А вы посмотрите модель пользователя и как называется переменная которая содержит группу. Затем чтото типа вот такого
$customer->getCustomer()->get_переменная_в_которойсодержится_группа()

 
Magento Community Magento Community
Magento Community
Magento Community
 
mkII
Sr. Member
 
Total Posts:  79
Joined:  2009-02-24
 

Спасибо. Нашлось только getGroupID(), которая возвращает ID группы, но не имя. В принципе, этого вполне достаточно.

 
Magento Community Magento Community
Magento Community
Magento Community
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

Потом можно посмотреть как устроен класс группы и понять как получить имя smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
mkII
Sr. Member
 
Total Posts:  79
Joined:  2009-02-24
 

Кстати, работают оба этих варианта:

echo $customer->getCustomer()->getGroupID();
и
echo $customer->getCustomerGroupID();

А имя и не нужно, проверять ID как бы даже проще. smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
mkII
Sr. Member
 
Total Posts:  79
Joined:  2009-02-24
 

Но чтоб уж добить до конца wink - нашел вот что:

/app/code/core/Mage/Customer/Model/Customer.php:

/**
     * Retrieve customer group identifier
     *
     * @return int
     */
    public function getGroupId()
    
{
        
if (!$this->getData('group_id')) {
            $storeId 
$this->getStoreId() ? $this->getStoreId() : Mage::app()->getStore()->getId();
            
$this->setData('group_id'Mage::getStoreConfig(Mage_Customer_Model_Group::XML_PATH_DEFAULT_ID$storeId));
        
}
        
return $this->getData('group_id');
    
}

Вопрос - в конструкции getData(’group_id’) между апострофами находится что именно? Идентификатор поля в таблице базы данных или что-то более абстрактное? Полагаю, что все же что-то более абстрактное. smile

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top