You are not logged in.
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