I Logic Hooks rappresentano un potente strumento che ci permette di intervenire nel funzionamento del CRM al verificarsi di determinati eventi.
SuiteCRM mette a disposizione tre tipi principali di Logic hooks, ognuno dei quali mette a disposizione una serie di metodi che rappresentano gli eventi sui quali è possibile intervenire:
Oltre a questi, ci sono altri due tipi di Logic Hook specifici per la gestione delle code e delle email:
- Job Queue Hooks
- SNIP Hooks
Tutti i Logic Hooks sono caratterizzati da due informazioni principali, la versione e l’array delle informazioni che ne definiscono il comportamento.
La versione è al momento un valore fisso uguale ad 1.
L’array che definisce il comportamento del Logic Hook deve contenere le seguenti informazioni:
- event_name una stringa che rappresenta il nome dell’evento per cui deve attivarsi il logic hook
- process_index un intero che indica l’ordine di esecuzione del logic hook
- description una breve descrizione del logic hook
- file_path il path al file php dove risiede la classe contenente le azioni da eseguire al verificarsi dell’evento
- class_name il nome della classe da istanziare
- method_name il nome del metodo da richiamare
Nel file del logi hook indichiamo qual’è la classe ed il metodo da richiamare al verificarsi di un certo evento.
Un piccolo esempio di logic hook che definisce una classe ed un metodo da richiamare prima del salvataggio di una Azienda
custom/modules/Accounts/logic_hooks.php’
1 2 3 4 5 6 7 8 9 10 |
$hook_version = 1; $hook_array['before_save'][] = array( 1, 'Hook description', 'custom/modules/Accounts/customLogicHook.php', 'className', 'methodName' ); |
custom/modules/Accounts/customLogicHook.php’
1 2 3 4 5 6 7 8 9 |
class className { function methodName($bean, $event, $arguments) { //logica } } |