2011-07-05 16 views
2

モジュールを追加しました。この中に3つのフィールドamount1_camount2_ctotal_amount_cを追加し、3つ目のフィールドに結果を表示します。私はここで論理的にコーディングを行った私のコードです砂糖に2つの数字を追加する方法

<? 
$hook_version = 1;  
$hook_array = Array();  
$hook_array['before_save'] = Array();  
$hook_array['before_save'][] = Array(1,'calculate_field', 'custom/modules/cases/LogicHookMath.php','LogicHookMath', 'calculate_field');  
?> 

と1つ以上のファイル論理フック数学を作った。ここに私のコードは

<?php 
class LogicHookMath { 
    function calculate_field(&$bean, $event, $arguments) { 
     $field1 = $bean->amount1_c; 
     $field2 = $bean->amount2_c; 
     $field3 = $field1 + $field2; 
     $bean->amount_total_c = $field3; 
    } 
} 
?> 

ですが、まだ私は結果を得られませんでした。このために私を助けてください。

+0

ロジックフックが呼び出されていることを確認するために関数の一番上にdie文を追加しようとしましたか? 'die(私は"と呼ばれた ")のような単純なもの。それがうまくいくなら、 'die($ bean-> amount1_c)'を試してください。 – Anthony

答えて

1

コードが正しいように見えます。

いくつかの一般的な「ミス」のカスタム・ロジック・フックが働いていないとき:

  • を確認し、カスタム・ロジック・フックが正しい名前(LogicHookMath.php
  • を持っているが$bean変数が接頭辞であることを、確認してください&、変数が参照
  • として渡されるのでlogic_hooks.phpLogicHookMath.phpファイルは、Webサーバのユーザー
  • 全体のカスタムDIRECによって読み取り可能であることを確認します保守党は、Webサーバのユーザ

上記の問題が解決しない場合は、カスタム・ロジック・フックで$GLOBALS['log']->info("Value 3: ". $field3);を使用してsugarcrm.logに進捗状況をログ記録してみてくださいために書き込み可能でなければなりません。

関連する問題