You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2025-01-18 00:30:54

capflamme
Member
Registered: 2025-01-18
Posts: 2

Pobleme affiche d'un onglet dans GLPI

Bonjour à tous,
Je développe un plugin pour GLPI et je souhaite ajouter un onglet nommé Attribution dans la fiche des ordinateurs.
Objectif :

    L'onglet Attribution doit apparaître dans la fiche des ordinateurs.
    Lorsqu'on clique sur cet onglet, une page doit afficher les données récupérées depuis une table SQL personnalisée (glpi_plugin_onfattribution).

Probleme:
L'onglet Attribution ne s'affiche pas dans la fiche des ordinateurs, malgré les configurations suivantes :

    Les hooks pour ajouter et afficher l'onglet semblent correctement définis.
    La table glpi_plugin_onfattribution se crée à l'installation du plugin
    Le plugin est activé dans GLPI, et aucun message d'erreur n'apparaît dans les logs GLPI (/files/_log/php-errors.log).

ci dessous le code du HOOK.PHP

<?php
/**
* Ajoute un onglet pour les ordinateurs
*/
function plugin_attribution_add_tab($itemtype, $ID) {
    if ($itemtype === 'Computer') {
        return ['Attribution'];
    }
    return [];
}

/**
* Affiche le contenu de l'onglet  Attribution
*/
function plugin_attribution_display_tab($itemtype, $ID, $tabnum = 1, $withtemplate = 0) {
    if ($itemtype === 'Computer') {
        global $DB;

        $smarty = new Smarty();
        $smarty->template_dir = GLPI_ROOT . "/plugins/attribution/smarty/templates/";

        $ID = intval($ID);
        $query = "SELECT * FROM glpi_plugin_attribution WHERE computers_id = $ID";
        $result = $DB->query($query);
        $attributions = [];
        if ($result && $DB->numrows($result) > 0) {
            while ($row = $DB->fetch_assoc($result)) {
                $attributions[] = $row;
            }
        }

        $smarty->assign('computer_id', $ID);
        $smarty->assign('attributions', $attributions);
        $smarty->display('onf_config.tpl');
    }
}

/**
* Ajoute une action au menu déroulant des ordinateurs
*/
function plugin_attribution_add_dropdown_actions($itemtype, $ID) {
    if ($itemtype === 'Computer') {
        $url = GLPI_ROOT . "/plugins/attribution/front/attribution.php?computers_id=" . urlencode($ID);
        return [
            [
                'name'  => __('Gérer les attributions', 'attribution'),
                'url'   => $url,
                'icon'  => 'fas fa-tags',
            ]
        ];
    }
    return [];
}
?>

Question

    Quelqu'un saurait il me dire pourquoi l'onglet Attribution ne s'affiche-t-il pas dans la fiche des ordinateurs ?
    Y a-t-il des configurations ou des prérequis spécifiques pour ajouter un onglet dans un plugin GLPI ?
     

Informations supplémentaires

    Version de GLPI : 10.x
    Plugin activé et aucune erreur visible dans /files/_log/php-errors.log.

Merci d'avance pour votre aide !

Offline

#2 2025-01-18 14:28:42

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,958
Website

Re: Pobleme affiche d'un onglet dans GLPI

'add_tab' n'est pas un crochet fonctionnel. Où avez-vous trouvé cette information ?

Je vous suggère de consulter la section sur les plugins de la documentation du développeur GLPI.
https://glpi-developer-documentation.re … ore-object


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

Board footer

Powered by FluxBB