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 Today 00:30:54

capflamme
Member
Registered: Today
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

Board footer

Powered by FluxBB