以下是添加自定義字段的步驟與代碼示例:
在custom/Extension/modules/Meetings/Ext/Vardefs/new_field.php中添加如下代碼:
<?php
$dictionary['Meeting']['fields']['custom_field'] = array(
'name' => 'custom_field',
'label' => '自定義字段',
'vname' => 'LBL_CUSTOM_FIELD',
'type' => 'varchar',
'len' => '255',
'default' => '',
'massupdate' => 0,
'no_default' => false,
'comments' => '',
'help' => '',
'importable' => 'true',
'required' => false,
'reportable' => true,
'audited' => false,
'duplicate_merge' => 'enabled',
'duplicate_merge_dom_value' => '1',
'merge_filter' => 'disabled',
'unified_search' => false,
'calculated' => false,
'full_text_search' => array(
'enabled' => true,
'boost' => 0.5,
'searchable' => true,
),
);
執行以下命令以更新元數據:
php -f bin/sugarcrm repair
登錄SuiteCRM後台,進入「佈局管理」中的「日程管理」,將新字段拖入佈局視圖中即可開始使用。
下面通過Hook機制自定義一個提醒邏輯:
在custom/modules/Meetings/logic_hooks.php文件中添加以下代碼:
<?php
$hook_version = 1;
$hook_array = array();
$hook_array['before_save'][] = array(
10,
'reminder',
'custom/modules/Meetings/reminder.php',
'reminder',
'beforeSave',
);
創建custom/modules/Meetings/reminder.php文件,寫入以下邏輯:
<?php
class reminder
{
function beforeSave($bean, $event, $arguments)
{
$before_save_custom_field = $bean->custom_field;
// 示例提醒邏輯,將信息寫入日誌文件
file_put_contents('reminder.log', $before_save_custom_field . "\n", FILE_APPEND);
// 可根據需求擴展為發送郵件、短信等
}
}
該功能將在保存日程前觸發,可用於記錄日誌或推送通知等,幫助團隊成員及時獲悉安排。