2013-04-12 2 views
1

Я создал модуль. вот мой config.xml:Magento Module SugarCRM Integration

<config>  
    <modules> 
     <Empresam_SugarIntegration> 
      <version>0.1.0</version> 
     </Empresam_SugarIntegration> 
    </modules> 
    <frontend> 
     <routers> 
      <sugarintegration> 
       <use>standard</use> 
       <args> 
        <module>Empresam_SugarIntegration</module> 
        <frontName>sugarintegration</frontName> 
       </args> 
      </sugarintegration> 
     </routers> 
    </frontend> 
    <global> 
     <events> 
      <customer_register_success> 
       <observers> 
        <Empresam_SugarIntegration_customertosugar_observer> 
         <type>singleton</type> 
         <class>Empresam_SugarIntegration_Model_Observer</class> 
         <method>sendtosugar</method> 
        </Empresam_SugarIntegration_customertosugar_observer> 
       </observers> 
      </customer_register_success>    
     </events> 
    </global> 
</config> 

Тогда мой класс: 'Observer.php' внутри Company_Module_Model:

<?php 

class Empresam_SugarIntegration_Model_Observer { 


    public function sendtosugar($observer) { 

     $customer = $observer->getEvent();  

      $options = array(
       "location" => '...', 
       "uri" => 'http://www.sugarcrm.com/sugarcrm', 
       "trace" => 1 
      ); 
      $user_auth = array(
       "user_name" => '...', 
       "password" => MD5('...'), 
       "version" => '4.1' 
      ); 
      $client = new SoapClient(Null, $options); 
      $response = $client->login($user_auth, 'test'); 
      $session_id = $response->id; 

      // Mapping... 
      $response = $client->set_entry($session_id, 'Leads', array(
       array("name" => 'first_name', "value" => $customer->getFirstName()), 
       array("name" => 'last_name', "value" => $customer->getLastName()), 
       array("name" => 'email', "value" => $customer->getEmail()), 
       array("name" => 'account_name', "value" => $customer->getFirstName() . $customer->getLastname()) 
        )); 
      Mage::log($customer->getFirstName() . $customer->getLastname()); 

     return $this; 
    } 

} 

событие я буду с нетерпением направить это в: Mage_Customer_AccountController, функция createPostAction :

Mage::dispatchEvent('customer_register_success', 
         array('account_controller' => $this, 'customer' => $customer) 
); 

Моя проблема, я получаю пустой ведет на SugarCRM, и от того, что я вижу от этого вызова:

Mage::log($customer->getFirstName() . $customer->getLastname()); 

Строки, которые я получаю, пустые. Любая идея почему?

ответ

0
$customer = $observer->getEvent(); 

должен быть

$customer = $observer->getCustomer(); // or getEvent()->getCustomer(); 
Смежные вопросы