Wie kann ich nach erfolgreicher Anmeldung Kundendaten vom Beobachter erhalten?

12

Ich habe ein benutzerdefiniertes Modul erstellt, in dem ich eine Beobachterdatei habe. Ich muss alle Informationen über den angemeldeten Benutzer anzeigen.

user2656802
quelle

Antworten:

16

Nutzen Sie die Veranstaltung customer_login:

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

Ihre Beobachterklasse würde so aussehen:

class YourCompany_YourModule_Model_Observer
{
    public function customerLogin($observer)
    {
        $customer = $observer->getCustomer();
    }
}
Philwinkle
quelle
1
nachdem ich das tue, gibt der getCustomer null zurück.
user2656802
Siehe die Revision. Prost.
Philwinkle
Hey, ich bin sehr neu in Magento. Ich möchte auch dasselbe tun. Kannst du mir sagen, wo ich diesen Code in der Dateistruktur ablegen muss?
Happy
Ich möchte vor dem Login eine Aktion ausführen, wenn sich der Benutzer mit einem falschen Passwort anmeldet.
Ravi Patel
@ Ravipatel eine neue Frage stellen
Philwinkle
1

Versuche dies

    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'];
    }
Deepak Mallah
quelle
2
Mage::getSingleton('customer/session')->getCustomer()reicht aus, um Kundendaten abzurufen, warum dann die Kundeninstanz erneut laden?
Rajeev K Tomy
Ja, es ist nicht erforderlich. Ich habe aber nach dem Code-Flow $ customer editiert -> getFirstname () wird auch funktionieren.
Vivek Khandelwal