Pergunta

Estou personalizando a página de exibição do produto e preciso mostrar o nome do usuário. Como faço para acessar as informações da conta do usuário atual (se ele estiver conectado) para obter o nome etc.?

Foi útil?

Solução

Encontrado em "app/code/core/mago/página/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'];
}

Então parece Mage::getSingleton('customer/session')->getCustomer() obterá seu cliente logado atual;)

Para obter o admin atualmente conectado:

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

Outras dicas

Dê uma olhada na classe auxiliar: MAGE_CUSTOMER_HELPER_DATA

Para simplesmente obter o nome do cliente, você pode escrever o seguinte código:-

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

Para obter mais informações sobre o ID da entidade do cliente, ID do site, e -mail etc. você pode usar getcustomer função. O código a seguir mostra o que você pode obter dele:-

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

Na classe Helper, você também pode obter informações sobre URL de login de clientes, URL de registro, URL de logout, etc.

De isloggedin Função na classe auxiliar, você também pode verificar se um cliente está conectado ou não.

Você pode obter o nome do cliente de login atual da sessão da seguinte maneira:

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

Isso retornará os detalhes do cliente do cliente de login atual.

Agora você pode obter o nome do cliente usando getName()

echo $customer->getName();

Para e -mail, use este código

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

echo $email;
$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();

Obtenha o endereço de cobrança padrão do cliente

Para o nome de usuário é o mesmo com alguma modificação:

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

A seguinte maneira você pode acessar todas as informações do usuário registrado.

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


echo "<pre>" print_r($customer_data);

Deste jeito:

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

Simplesmente,

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

Isso retorna o objeto do cliente e você pode obter todos os detalhes desse objeto do cliente.

Não sei disso no topo da minha cabeça, mas olhe no arquivo que mostra o nome do usuário, etc. no cabeçalho da página depois que o usuário está conectado. Isso pode ajudar se você ativar as dicas de modelo (veja este tutorial.

Quando você encontra a linha como "Hello <? //code for showing username?>", basta copiar essa linha e mostrar -a onde você precisa

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top