¿Cómo puedo obtener los datos del cliente del observador después de un inicio de sesión exitoso?


12

He creado un módulo personalizado en el que tengo un archivo de observador. Necesito mostrar toda la información sobre el usuario conectado.

Respuestas:


16

Usa el evento customer_login:

<customer_login>
    <observers>
        <yourobservername>
            <type>model</type>
            <class>yourmodule/path_to_class</class>
            <method>customerLogin</method>
        </yourobservername>
    </observers>
</customer_login>

Su clase de observador se vería así:

class YourCompany_YourModule_Model_Observer
{
    public function customerLogin($observer)
    {
        $customer = $observer->getCustomer();
    }
}

1
después de hacer esto, getCustomer devuelve nulo.
user2656802

Ver la revisión. Salud.
philwinkle

Hola, soy muy nuevo en magento. También quiero hacer lo mismo. ¿Puedes decirme dónde tengo que poner este código en la estructura de archivos?
Feliz

Quiero antes de iniciar sesión cuando el usuario inicia sesión con contraseña incorrecta.
ravi patel

@ravipatel hace una nueva pregunta
philwinkle

1

Prueba esto

    if($customer = Mage::getSingleton('customer/session')->isLoggedIn()) {
$customer =  Mage::getSingleton('customer/session')->getCustomer();
       $customerData = Mage::getModel('customer/customer')->load($customer->getId())->getData();
       //for firstname
       $customerFirstName = $customerData['firstname'];
    }

2
Mage::getSingleton('customer/session')->getCustomer()es suficiente para obtener detalles del cliente, entonces ¿por qué volver a cargar la instancia del cliente nuevamente?
Rajeev K Tomy

Sí, no es obligatorio Pero edité de acuerdo con el flujo de código $ customer -> getFirstname () también funcionará.
Vivek Khandelwal
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.