jreviews-cp:addons_navigation
Filter the navigation entries shown under the **Addons** section of the JReviews administration sidebar. Add-ons append entries describing their own admin pages so they appear in the sidebar.
You need to have a working knowledge of Hooks before you get started.
Fires once when the JReviews CP sidebar is mounted, while the Addons section is being built.
Parameters
| Name | Type | Description |
|---|---|---|
$links |
array |
Empty array of addon navigation entries. Each entry is an associative array with at least `type`, `label`, and `do` keys, plus an optional `children` array of sub-entries. |
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-cp:addons_navigation', function($links)
{
// Your code here
return $links;
});
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.
Examples
Register a top-level addon entry with sub-pages
Add a top-level entry for your add-on with several nested admin pages, mirroring how the Maps add-on does it.
\FWDHook::addFilter('jreviews-cp:addons_navigation', function ($links) {
$links[] = [
'type' => 'route',
'label' => 'Maps',
'do' => 'maps-cp::pages.providers',
'children' => [
['type' => 'route', 'label' => 'Service Providers', 'do' => 'maps-cp::pages.providers'],
['type' => 'route', 'label' => 'Configuration', 'do' => 'maps-cp::pages.configuration'],
['type' => 'route', 'label' => 'Batch Geocoding', 'do' => 'maps-cp::pages.batch-geocoding'],
],
];
return $links;
});
Source Files
app/Http/CP/Yoyo/PrimarySidebar.php