jreviews:view_data
Filters view data for ALL views before rendering. This generic hook fires before the view-specific hook. Use this to modify data globally across views or to inspect which views are being rendered. The V5 equivalent was `before_theme_render_viewvars`.
You need to have a working knowledge of Hooks before you get started.
Fires for every view render via view creator, before view-specific hook
Parameters
| Name | Type | Description |
|---|---|---|
$data |
array |
The view data array containing all variables passed to the view |
$normalizedName |
string |
The normalized view name (e.g., 'listings_detail', 'maps_listings_detail') |
$originalName |
string |
The original view name (e.g., 'jreviews::listings.detail', 'maps::listings.detail') |
Boilerplate Code
Use the boilerplate code to start using the filter, and add your own logic to modify the first argument and return it.
fwd_add_filter('jreviews:view_data', function($data, $normalizedName, $originalName)
{
// Your code here
return $data;
}, 20, 3);
The , 20, N after your callback are the hook priority and the number of arguments your callback accepts. By default, a hook passes your callback only its first argument; for a filter, that is the value being filtered, so a simple function($value) { ... } needs nothing extra. If your callback declares more parameters, such as function($value, $listing) { ... }, you must add N (the parameter count, 2 here). Because N is the fourth argument to fwd_add_filter() or fwd_add_action(), you must also pass the priority (20 is the default). Leaving these off when your callback expects extra parameters causes a Too few arguments to function ... fatal error.
Source Files
app/Providers/ViewDataFilterServiceProvider.php