2011-11-02 18 views
1

我正在自定義SugarCRM。在某些時候,我需要在用戶創建記錄時將一些自定義值存儲到數據庫。我試圖使用觸發器,但它不符合要求。所以我需要用PHP代碼編寫。Sugarcrm,在保存記錄時編寫自定義代碼

我的問題是,在哪裏寫這段代碼。

回答

6

在模塊的保存操作中使用邏輯掛鉤(after_save或before_save,例如)。

  • 創建自定義/模塊/ Mymodule中一個logic_hooks.php/

    <? 
    $hook_array = Array(); 
    $hook_array['after_save'] = Array(); 
    $hook_array['after_save'][] = Array(
        0, 
        'myName', 
        'custom/modules/myModule/logic_hooks/file.php', 
        'myClass', 
        'myMethod' 
    ); 
    ?> 
    
  • 創建/自定義/模塊/ Mymodule中file.php/logic_hooks/

    <?php 
    class myClass{ 
        function myMethod(&$bean, $event, $arguments){ 
         // Do something with $bean (e.g. store the custom DB value) 
        } 
    } 
    ?> 
    

欲瞭解更多信息,請參閱:this link

+0

我試過這樣,保存時會自動加載logic_hooks.php,但不會調用myMethod函數。我已經給出了正確的路徑,但存儲在/ custom/modules/CV_Customer_Visits文件夾中 – AjayR

+0

我認爲它應該是一個相對路徑,所以'/ custom/modules/CV_Customer_Visits/your_php_file.php'應該通過'custom/modules/CV_Customer_Visits/your_php_file .php' –

+0

我想知道,在糖中使用這些鉤子方法定義了一些Feed的代碼。當我用一個新函數在該文件中編寫我的代碼時,它正在正確執行。但是,當我改變同一個文件的位置,它不工作(我也改變了鉤子調用相應的路徑) – AjayR

0

確保your_php_file.php可以由apache執行。這可能是或可能是拼寫錯誤?看看你的apache日誌文件中是否有任何東西。

相關問題