0

I am checking in my custom controller if customer is logged in or not if the customer clicks on register after registration it should redirect to my custom controller and continue the process. I am using customer_register_success it is executing but i am getting blank customer session in my custom function.Suggest me some solution. This my custom function

 public function getcustomerdata()
   {           
            if(Mage::getSingleton('customer/session')->isLoggedIn())
            {
                     $customerData = Mage::getSingleton('customer/session')->getCustomer();
                      echo $customerData->getId();
                       $name = $customerData->getFirstname();

            }
            return $name;

  }

My observer function is.

 public function doSomething($observer)
   {   
       $AccountController = $observer->getEvent()->getAccountController();
        $Customer = $observer->getEvent()->getCustomer();

  $session=Mage::getSingleton('customer/session'); 
  $session->setBeforeAuthUrl(Mage::getSingleton("mymodule/session")->getCompurl().'state_new/1');
if (!$Customer->getCustomerActivated()) {
}
else{
   //$session->setCustomerAsLoggedIn($Customer);
   $response1 = Mage::app()->getResponse(); // observers have event args



    $dataarray = Mage::getSingleton("mymodule/session")->getData_array();
    $sampleid=$dataarray['sampleid'];

    $state=$dataarray['state'];
    if($state==1)
    {
      $collection=Mage::getSingleton('mymodule/mymodule')->customisesaved($sampleid);
    if($collection)
    {
        $url=Mage::getUrl('mymodule/mymodule/customshow');
         Mage::log($url,null,"url.log");            
            Mage::app()->getFrontController()->getResponse()->setRedirect($url);
         Mage::app()->getResponse()->sendResponse();
         exit;
    }          

}

}
}
0

You can use event to call your function after registration

<config><frontend>
<events>
  <customer_register_success>
    <observers>
      <your_module>
        <type>singleton</type>
        <class>your_module/observer</class>
        <method>yourMethod</method>
      </your_module>
    </observers>
  </customer_register_success>
</events></frontend></config>

public function yourMethod($observer)
{
    $customer = $observer->getCustomer();
}
  • thanks for your answer I have used this observer but I am getting blank session inside my custom function. – zest Aug 31 '16 at 5:58
  • Please post your code which you are using to get session. – Ashish Jagnani Aug 31 '16 at 6:02
  • Please check my update question. – zest Aug 31 '16 at 6:07
  • Try with improved answer. – Ashish Jagnani Aug 31 '16 at 6:16
  • check my updated question – zest Aug 31 '16 at 6:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.