2016-04-15 39 views
0

我试图使用保存后逻辑钩擦洗测试过程中输入的虚假电子邮件地址等。但是,电子邮件地址不会更新。以下是我正在使用的代码。我目前在6.5企业。有没有人知道我可能做错了什么?或者,如何通过后保存逻辑钩正确地更新/删除电子邮件地址?通过在SugarCRM 6.5中保存逻辑钩子后删除电子邮件地址

谢谢!

$sea = new SugarEmailAddress; 
    $sea = $bean->emailAddress; 

    foreach ($bean->emailAddress->addresses as $k=>$emailaddress) { 
     if($ema = $emailaddress['email_address']) { 
      if( 
       stripos($ema,'@none.com') !== FALSE || 
       stripos($ema,'@test.com') !== FALSE || 
       stripos($ema,'@nunya.com') !== FALSE || 
       stripos($ema,'@testing.com') !== FALSE 
      ) { 

       $sea->addresses[$k]['emailaddress'] = '' ; 
       //sugar_die(print_r($sea->addresses)); 

       $sea->save($bean->id,$bean->module_dir); 

      } 
     } 
    } 

回答

0

要更新逻辑钩或自定义导入用户的电子邮件地址,你可以使用下面的逻辑:

if($bean->email1) { 
    $sea = new SugarEmailAddress(); 
    // Add a primary email address 
    $sea->addAddress($bean->email1, true); 
    // Associate the email address with the given module and record 
    $sea->save($user_id, "Users"); 
} 
+0

感谢您的答复。这帮助我开始了正确的方向。通过使用:'$ sea-> addAddress($ ema,true,null,true);'其中$ ema是我想要移除的虚假电子邮件,我可以将此地址标记为无效。但是,我希望完全删除此地址(或使用空字符串更新它),以便在编辑记录时提示用户输入新地址(因为它是必填字段)。有关如何设置要删除的电子邮件地址的任何想法?再次感谢! – zxlg

相关问题