Come posso ottenere i dati dei clienti dall'osservatore dopo aver effettuato correttamente l'accesso?


12

Ho creato un modulo personalizzato in cui ho un file osservatore. Devo visualizzare tutte le informazioni sull'utente che ha effettuato l'accesso.

Risposte:


16

Usa l'evento customer_login:

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

La tua classe di osservatori sarebbe simile a questa:

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

1
dopo averlo fatto, getCustomer restituisce null.
user2656802

Vedi la revisione Saluti.
Filwinkle,

Ehi .. Sono molto nuovo in Magento. Voglio fare anche la stessa cosa. Puoi dirmi dove devo inserire questo codice nella struttura dei file?
Buon

Voglio prima dell'azione di accesso quando l'utente esegue l'accesso con password errata.
ravi patel,

@ravipatel fa una nuova domanda
Philwinkle,

1

Prova questo

    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()è sufficiente per ottenere i dettagli del cliente, quindi perché ricaricare nuovamente l'istanza del cliente?
Rajeev K Tomy,

Sì non è richiesto. Ma ho modificato in base al flusso di codice $ customer -> getFirstname () funzionerà anche.
Vivek Khandelwal,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.