Это моя первая попытка кодирования sugarCRM/suiteCRM.Пытается добавить логический крюк в наборCRM при создании или обновлении задачи
Должен сказать, что я кодировал Wordpress уже почти 10 лет, но теперь я полностью потерялся, и теперь я начинаю копаться в suiteCRM.
Я читал, что вы можете добавить логический крючок, чтобы изменить данные после сохранения его в базу данных, но я не знаю, с чего начать ...
Представьте создать задачу на сегодняшний день, 7 июля, связанный с клиентом, который я использую, чтобы посещать каждые 2 месяца, поэтому есть поле в Аккаунтах с названием «Частота посещения». Я хочу добавить будущую дату (июль 7th + 60 дней = 7 сентября aprox) в поле «Будущая посещаемость» задачи, поэтому я могу использовать ее для создания этой конкретной будущей задачи через Workflow.
То, что я пытаюсь сделать, это вычислить поле в задачах (будущая дата посещения), равное количеству дней в поле модуля счета (частота посещения), добавленном в поле собственной даты задачи.
Я был в состоянии сделать его работу, используя следующую схему:
Внутри \custom\modules\Tasks\logic_hooks.php
<?php
$hook_version = 1;
$hook_array['before_save'] = Array();
$hook_array['before_save'][] = Array(
1, //Processing index. For sorting the array.
'future_task_date_on_task_creation', //Label. A string value to identify the hook.
'custom/modules/Tasks/future_visit_date.php', //The PHP file where your class is located.
'before_save_class', //The class the method is in.
'future_visit_date' //The method to call.
);
?>
Внутри \ пользовательские \ модули \ Tasks \ future_visit_date.php
<?php
if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
class before_save_class {
function future_visit_date($bean, $event, $arguments) {
$bean->rhun_fecha_sig_c = date("Y-m-d H:i:s", $date);
}
}
?>
При такой настройке дата посещения в будущем заполняется расчетной датой.
Я также читал, что эта установка не рекомендуется, и что я должен использовать Extension Framework и поставить первый файл на этом пути:
/custom/Extension/modules/Tasks/Ext/LogicHooks/<file>.php
Но я не могу заставить его работать.
Должен ли я создать папку LogicHooks, если ее там нет? Какое имя файла следует присвоить этому файлу? Нужно ли мне что-то менять внутри кода?
Спасибо, теперь я сделал это! –