ミドルネームを保存するためにSugarOS6でカスタムフィールドを作成しようとしています。EditViewでのフィールドの設計と実装は、Studioを使用すれば非常に簡単でした。しかし、 DetailViewに連結された名前の部分を表示することになると私は立ち往生しています(つまり、敬礼+名+ミドルネーム+姓)。
シュガーフォーラムを探し回ると、その方法を説明するこのスレッドにたどり着きました。レコードのロード時に呼び出されるafter_retrieveフックを利用するSugarロジックフックの形式でそこに与えられたコードを実装しました。
これが私のフックコードです:
$hook_array['after_retrieve'] = Array();
$hook_array['after_retrieve'][] = array(
100,
'set_full_name',
'custom/modules/Leads/leads_custom_logic.php',
'LeadsCustomLogic',
'setFullName'
);
そして、これが呼び出されている関数です:
function setFullName( &$focus, $event, $arguments ) {
$name = $focus->salutation . ' ' .
$focus->first_name . ' ' .
( $focus->middle_name_c ? ( $focus->middle_name_c . ' ' ) : '' ) .
$focus->last_name;
$focus->name = $name;
$focus->full_name = $name;
// echo $focus->full_name;
}
フックと呼び出されたコードは正常に機能しているようで、最後の行(echo)のコメントを外すと、フルネームが画面全体にダンプされます(この関数が呼び出される場所)。ただし、実際に想定されている場所、つまりフルネームが表示されるDetailView画面の行は表示されません。
何か案は?
ありがとう、m ^ e