Pregunta

Estoy personalizando la página de vista del producto y necesito mostrar el nombre del usuario. ¿Cómo accedo a la información de la cuenta del usuario actual (si ha iniciado sesión) para obtener Nombre, etc.?

¿Fue útil?

Solución

Se encuentra en " 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'];
}

Por lo tanto, parece que Mage::getSingleton('customer/session')->getCustomer() obtendrá su cliente actual conectado;)

Para obtener el administrador actualmente conectado:

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

Otros consejos

Eche un vistazo a la clase auxiliar: Mage_Customer_Helper_Data

Para obtener simplemente el nombre del cliente, puede escribir el siguiente código: -

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

Para obtener más información sobre la identificación de la entidad del cliente, la identificación del sitio web, el correo electrónico, etc., puede usar la función getCustomer . El siguiente código muestra lo que puede obtener de él: -

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

Desde la clase auxiliar, también puede obtener información sobre la URL de inicio de sesión del cliente, la URL de registro, la URL de cierre de sesión, etc.

Desde la función isLoggedIn en la clase auxiliar, también puede verificar si un cliente ha iniciado sesión o no.

Puede obtener el nombre de usuario de inicio de sesión actual de la sesión de la siguiente manera:

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

Esto devolverá los detalles del cliente del cliente de inicio de sesión actual.

Ahora puede obtener el nombre del cliente utilizando getName()

echo $customer->getName();

para correo electrónico 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();

Obtener la dirección de facturación predeterminada del cliente

Para el nombre de usuario es igual con alguna modificación:

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

La siguiente manera puede acceder a toda la información del usuario registrado.

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


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

De esta manera:

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

Simplemente,

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

Esto devuelve el objeto del cliente, luego puede obtener todos los detalles de este objeto del cliente.

No sé esto de la parte superior de mi cabeza, pero mire en el archivo que muestra el nombre del usuario, etc. en el encabezado de la página después de que el usuario haya iniciado sesión. Podría ayudar si activa las sugerencias de plantilla (consulte este tutorial .

Cuando encuentre la línea como "Hello <? //code for showing username?>", simplemente copie esa línea y muéstrela donde necesita

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top