before_save
Overview
The before_save
logic hook executes before a record is saved.
Definition
function before_save($bean, $event, $arguments){}
Arguments
Name | Type | Description |
---|---|---|
bean | Object | The bean object |
event | String | The current event |
arguments | Array | Additional information related to the event |
arguments.check_notify | Boolean | Whether or not to send notifications |
arguments.isUpdate | Boolean |
Whether or not the record is newly created
|
Considerations
- For modules that contain a user-friendly record ID (e.g. the
case_number
field for the Cases module), the value of that field is not available for abefore_save
call. This is because this business logic has yet to be executed. - Calling save on the bean in this hook will cause an infinite loop if not handled correctly. (i.e:
$bean->save()
)
Examples
Creating a Logic Hook using Extension Framework
./custom/Extension/modules/<module>/Ext/LogicHooks/<file>.php
<?php
$hook_array['before_save'][] = Array(
//Processing index. For sorting the array.
1,
//Label. A string value to identify the hook.
'before_save example',
//The PHP file where your class is located.
'custom/modules/<module>/before_save_class.php',
//The class the method is in.
'before_save_class',
//The method to call.
'before_save_method'
);
?>
./custom/modules/<module>/before_save_class.php
<?php
class before_save_class
{
function before_save_method($bean, $event, $arguments)
{
//logic
}
}
?>