before_fetch_query
Overview
The before_fetch_query
logic hook executes before a sugar query has been executed.
Definition
function before_fetch_query($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.query | Object | The query to be executed |
arguments.fields | Array | An array of selected fields |
Change Log
Version | Note |
---|---|
7.7.0.0 | Added before_fetch_query logic hook |
Examples
Creating a Logic Hook using Extension Framework
./custom/Extension/modules/<module>/Ext/LogicHooks/<file>.php
<?php
$hook_array['before_fetch_query'][] = Array(
//Processing index. For sorting the array.
1,
//Label. A string value to identify the hook.
'before_fetch_query example',
//The PHP file where your class is located.
'custom/modules/<module>/before_fetch_query_class.php',
//The class the method is in.
'before_fetch_query_class',
//The method to call.
'before_fetch_query_method'
);
?>
./custom/modules/<module>/before_fetch_query_class.php
<?php
if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
class before_fetch_query_class
{
function before_fetch_query_method($bean, $event, $arguments)
{
//logic
}
}
?>
Creating a Core Logic Hook
Prior to Sugar 6.3.x, logic hooks could only be created using the following method. Please note that this approach is still valid but is not recommended when building plugins as it may conflict with existing customizations.
./custom/modules/<module>/logic_hooks.php
<?php
$hook_version = 1;
$hook_array = Array();
$hook_array['before_fetch_query'] = Array();
$hook_array['before_fetch_query'][] = Array(
//Processing index. For sorting the array.
1,
//Label. A string value to identify the hook.
'before_fetch_query example',
//The PHP file where your class is located.
'custom/modules/<module>/before_fetch_query_class.php',
//The class the method is in.
'logic_hooks_class',
//The method to call.
'before_fetch_query_method'
);
?>
./custom/modules/<module>/before_fetch_query_class.php
<?php
if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
class before_fetch_query_class
{
function before_fetch_query_method($bean, $event, $arguments)
{
//logic
}
}
?>