SugarCRM - очень ПРОСТОЙ Логический крюк, выполненный с задержкой

У меня очень, очень простая логика - я все еще участвую, и я смущен в начале. Я включаю режим разработчика.

У меня уже есть поле «FIRST_NAME» в модуле «Контакты». Я создал свое поле «MY_FIELD» также в модуле COntacts.

В файле logic_hooks.php я добавил

$hook_array['before_save'] = Array();
$hook_array['before_save'][] = Array(1, 'Value from one field to another', 'custom/modules/Contacts/my.php', 'User_hook','copy'); 

В файле my.php я добавил

class User_hook {

    function copy(&$bean, $event, $arguments)
    {

    $bean->my_field_c  = $bean->fetched_row['first_name']. " - additional text";
    }

}

Поэтому, когда я ввел значение First_Name «First», я получаю значение «Мое поле» «дополнительный текст», но я должен получить «Первый дополнительный текст». Если я перейду в «Редактировать представление» и введите поле «Имя» «Второе», я получаю значение «Мое поле» «Первый - дополнительный текст», но я должен получить «Второй - дополнительный текст». Если я enetein Edit View «Third», я попадаю в поле «Третий - дополнительный текст», но я должен получить «Третий - дополнительный текст».

Таким образом, очевидно, что мой логический крючок выполняется с задержкой в ​​одной итерации - почему и как его изменить? Это мой первый крючок, поэтому я не так переживаю. Спасибо за помощь

0
nl ja de

1 ответы

$bean->fetched_row['first_name'] will return the value of the field BEFORE you change it. You'd use this to see what the value of first_name was before the user changed it on the form.

Попробуйте использовать

class User_hook {

    function copy(&$bean, $event, $arguments)
    {

    $bean->my_field_c  = $bean->first_name. " - additional text";
    }

}    
5
добавлено
См. Блог разработчика и некоторые полезные примеры ... developers.sugarcrm.com/wordpress/& alpha; S = логические + крючки
добавлено автор jmertic, источник
да! это отлично работает. Хотел бы я дать тебе больше, чем один. Могу ли я спросить вас, если у вас есть какая-то дополнительная документация для этих и подобных правил при работе с Logic Hooks? Например, для этих методов выбрана строка, работающая перед сохранением и другими функциями и т. Д. У меня есть кулинарная книга, руководство для разработчиков (но в основном для веб-служб). Я пытаюсь найти хорошую документацию для логических перехватов, но я не преуспеваю в этом? Я буду очень благодарен, если вы можете поделиться чем-то со мной (ссылки или по электронной почте). Спасибо и все самое лучшее !!!
добавлено автор Stefke, источник