Başarılı giriş yaptıktan sonra müşteri verilerini gözlemciden nasıl alabilirim?


12

Gözlemci dosyam olan özel bir modül yaptım. Giriş yapmış kullanıcıyla ilgili tüm bilgileri görüntülemem gerekiyor.

Yanıtlar:


16

Etkinliği kullanın customer_login:

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

Gözlemci sınıfınız şöyle görünecektir:

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

1
Bunu yaptıktan sonra getCustomer null döndürür.
user2656802

Düzeltmeye bakın. Şerefe.
philwinkle

Heyy .. Ben magento çok yeniyim.Ayrıca aynı şeyi yapmak istiyorum.Bana dosya yapısında bu kodu nereye koymak zorunda söyleyebilir misiniz?
Mutlu

Kullanıcı yanlış şifre giriş yaparken giriş eylemi önce istiyorum.
ravi patel

@ravipatel yeni bir soru sor
philwinkle

1

Bunu dene

    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()ayrıntılarını almak için yeterliyse, neden müşteri örneğini tekrar yükleyelim?
Rajeev K Tomy

Evet, zorunlu değildir. Ancak kod akışına göre düzenlenmiş $ customer -> getFirstname () de çalışacaktır.
Vivek Khandelwal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.