Avec Fenekio CRM, vous avez la possibilité d'ajouter votre propre élément de menu dans la zone d'administration, que ce soit pour votre propre usage ou pour créer un module.
Le processus est très simple, vous devez suivre les étapes. L'ajout d'un nouvel élément est disponible via les crochets d'action Fenekio CRM intégrés.
Créez un fichier avec le nom my_functions_helper.php dans application/helpers/ et ajoutez le code suivant (incluez également la balise d'ouverture <?php si elle n'est pas déjà ajoutée) :
Version 2.3.0 ou supérieure
Élément du menu principal
hooks()->add_action('admin_init', 'my_custom_menu_admin_items');
function my_custom_menu_admin_items()
{
$CI = &get_instance();
$CI->app_menu->add_sidebar_menu_item('custom-menu-unique-id', [
'name' => 'Custom Menu Item', // The name if the item
'href' => 'https://Fenekio.com/', // URL of the item
'position' => 10, // The menu position, see below for default positions.
'icon' => 'fa fa-question-circle', // Font awesome icon
]);
}
Élément avec éléments de sous-menu
hooks()->add_action('admin_init', 'my_custom_menu_item_collapsible');
function my_custom_menu_item_collapsible()
{
$CI = &get_instance();
$CI->app_menu->add_sidebar_menu_item('custom-menu-unique-id', [
'name' => 'Parent Item', // The name if the item
'collapse' => true, // Indicates that this item will have submitems
'position' => 10, // The menu position
'icon' => 'fa fa-question-circle', // Font awesome icon
]);
// The first paremeter is the parent menu ID/Slug
$CI->app_menu->add_sidebar_children_item('custom-menu-unique-id', [
'slug' => 'child-to-custom-menu-item', // Required ID/slug UNIQUE for the child menu
'name' => 'Sub Menu', // The name if the item
'href' => 'https://Fenekio.com/', // URL of the item
'position' => 5, // The menu position
'icon' => 'fa fa-exclamation', // Font awesome icon
]);
}
Les éléments de menu par défaut ont des positions différentes, vous pouvez donc accrocher vos nouveaux éléments au milieu , trouver ci-dessous la position par défaut, en fonction de l'endroit où vous souhaitez ajouter votre élément personnalisé, vous pouvez ajuster l'attribut de position.
- Tableau de bord – 1
- Clients – 5
- Ventes – 10
- Abonnements – 15
- Dépenses – 20
- Contrats – 25
- Projets – 30
- Tâches – 35
- Billets – 40
- Pistes – 45
- Base de connaissances – 50
- Utilitaires – 55
- Rapports – 60
Avant la version 2.3.0
Éq. Après l'élément de menu Tableau de bord.
add_action('after_render_single_aside_menu', 'my_custom_menu_items'); function my_custom_menu_items($order)
{
if ($order == 1) {
echo '<li><a href="#">HRM App</a></li>';
}
}

Éq. Après l'élément de menu Clients, y compris l' icône Font Awesome
add_action('after_render_single_aside_menu', 'my_custom_menu_items'); function my_custom_menu_items($order)
{
if ($order == 2) {
echo '<li><a href="#"><i class="fa fa-area-chart menu-icon" aria-hidden="true"></i>Test</a></li>';
}
}
Plusieurs éléments de menu
add_action('after_render_single_aside_menu', 'my_custom_menu_items'); function my_custom_menu_items($order)
{
if ($order == 2) {
echo '<li><a href="#"><i class="fa fa-area-chart menu-icon" aria-hidden="true"></i>My First Custom Item</a></li>';
echo '<li><a href="#"><i class="fa fa-area-chart menu-icon" aria-hidden="true"></i>My Second Custom Item</a></li>';
}
}
Nouvel élément de menu avec sous-éléments
add_action('after_render_single_aside_menu', 'my_custom_menu_items'); function my_custom_menu_items($order)
{
if ($order == 1) {
echo '<li>';
echo '<a href="#" aria-expanded="false"><i class="fa fa-balance-scale menu-icon"></i> My Custom Menu<span class="fa arrow"></span> </a>';
echo '<ul class="nav nav-second-level collapse" aria-expanded="false"> <li><a href="http://mydomain.com/url">Sub item</a></li> </ul>';
echo '</li>';
}
}
Avec des conditions pour autorisations vérificateur d'accès
add_action('after_render_single_aside_menu', 'my_custom_menu_items'); function my_custom_menu_items($order)
{
if ($order == 2) {
if (has_permission('invoices', '', 'view')) {
echo '<li><a href="#"><i class="fa fa-area-chart menu-icon" aria-hidden="true"></i>Custom Item</a></li>';
}
}
}