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
'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