SugarCRM: кодирование настраиваемого поля второго имени - PullRequest
3 голосов
/ 10 ноября 2010

Я пытаюсь создать настраиваемое поле в SugarOS 6 для хранения отчеств.Проектирование и реализация поля в EditView было достаточно простым с Studio.Но я застрял, когда дело доходит до отображения составных частей имени в DetailView (то есть Приветствие + Имя + Отчество + Фамилия ).

Поиск через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;
}  

Кажется, что перехват и вызываемый код работают нормально, и еслиЯ раскомментирую последнюю строку (echo), полное имя выводится по всему экрану (где бы эта функция не вызывалась).Тем не менее, не отображает, где он на самом деле должен , то есть строку на экране DetailView, где появляется полное имя.

Есть идеи?

Спасибо, м ^ е

1 Ответ

1 голос
/ 26 ноября 2010

возможно просто измените detailview.php и добавьте следующее к полному имени вашего поля defs

'customCode' => '{$fields.salutation.value} {$fields.first_name.value} {$fields.midle_name_c.value} {$fields.last_name.value}'

как новый key => value в массиве, и вместо него будет отображаться пользовательский кодполного имени.

...