Voici les étapes et les exemples de code pour ajouter des champs personnalisés:
Ajoutez le code suivant dans personnalisé / extension / modules / réunions / ext / vardefs / new_field.php :
<?php
$dictionary['Meeting']['fields']['custom_field'] = array(
'name' => 'custom_field',
'label' => 'Champs personnalisés',
'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,
),
);
Exécutez la commande suivante pour mettre à jour les métadonnées:
php -f bin/sugarcrm repair
Connectez-vous à l'arrière-plan SaceCrm, entrez "Gestion de la planification" dans "Gestion de mise en page", faites glisser le nouveau champ dans la vue de mise en page et commencez à l'utiliser.
Ce qui suit est une logique de rappel personnalisée via le mécanisme de crochet:
Ajoutez le code suivant au fichier personnalisé / modules / réunions / logic_hooks.php :
<?php
$hook_version = 1;
$hook_array = array();
$hook_array['before_save'][] = array(
10,
'reminder',
'custom/modules/Meetings/reminder.php',
'reminder',
'beforeSave',
);
Créez un fichier personnalisé / modules / réunions / rappel.php et écrivez la logique suivante:
<?php
class reminder
{
function beforeSave($bean, $event, $arguments)
{
$before_save_custom_field = $bean->custom_field;
// Exemple de logique de rappel,Écrire des informations dans le fichier journal
file_put_contents('reminder.log', $before_save_custom_field . "\n", FILE_APPEND);
// Peut être étendu pour envoyer des e-mails en fonction des exigences、SMS, etc.
}
}
Cette fonction sera déclenchée avant d'enregistrer le calendrier et peut être utilisée pour enregistrer des journaux ou des notifications push, etc., pour aider les membres de l'équipe à se informer des arrangements en temps opportun.