我正在尝试在 SugarOS 6 中创建一个自定义字段来存储中间名。使用 Studio 在EditView中设计和实现该字段非常容易。但是当谈到在DetailView中显示串联的名称部分(即Salutation + First Name + Middle Name + Last Name)时,我被卡住了。
Foraging through the Sugar Forums让我找到了这个线程,它描述了一种可以完成的方法。我已经以 Sugar 逻辑钩子的形式实现了那里给出的代码,该钩子利用了在加载记录时调用的after_retrieve钩子。
这是我的钩子代码:
$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;
}
钩子和被调用的代码似乎工作正常,如果我取消注释最后一行(回显),则全名将被转储到整个屏幕上(无论调用此函数的位置)。但是,它没有显示它实际应该显示的位置,即 DetailView 屏幕中出现全名的行。
有任何想法吗?
谢谢,m^e