You are not logged in.
Bonjour,
j'expérimente la creation d'un plugin. dans un premier temps assez simple :
une seule table, la liste des élements s'affiche, et en cliquant sur le titre on ouvre le formulaire correspondant.
jusque là, tout marche comme je veux.
dans ma table j'ai des champs name,comment et des champs locations_id, users_id.
quand j'affiche la liste des eléments j'ai bien mes intitulés correct pour les lieurs et utilisateurs associés.
quand j'affiche l'élément sous forme de formulaire, les dropdowns ne fonctionnent pas. ils affichent le libellé mais aucune sélection possible (la forme n'est pas celle habituelle non plus).
je me suis inspiré d'autres plugin mais il doit y avoir une subtilité que j'ai raté :
function showForm($ID, $options = []) {
$this->initForm($ID, $options);
$this->showFormHeader($options);
echo "<tr class='tab_bg_1'>";
echo "<td>" . __('Name') . "</td>";
echo "<td>";
Html::autocompletionTextField($this, "name");
echo "</td>";
echo "<td>".__('User')."</label></td>";
echo "<td>";
echo $this->fields["users_id"]; // ça affiche bien le user_id
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>".__('Location')."</td>";
echo "<td>";
// si je mets la ligne ci dessous j'ai bien mon location id affiché, éditable)
Html::autocompletionTextField($this, "locations_id");
// si je mets la ligne ci dessous ,j'ai bien le libellé d'affcihé mais je ne peux pas le modifier;
//Location::dropdown(['value' => $this->fields["locations_id"],'entity' => $this->fields["entities_id"]]);
echo "</td>";
Si quelqu'un a des pistes pour m'aiguiller. j'ai vérifié, sur le plugin badges par exemple c'est la même syntaxe. j'ai du raté quelque chose ( classe manquante ?, liens à faire dans le hook?, droits spécifique à attribuer?......)
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Bonjour.
Je vois rien de spécialement problématique dans le code.
Vérifiez la présence d'erreur dans votre console javascript.
Offline
J'ai effectivement un message qui correspond à cette ligne
ReferenceError: formatResult is not defined
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Quelle version de GLPI ?
Offline
9.3.1
j'ai testé la page de plugins appliance et badges qui ont exactement le même code en je n'ai pas d'erreur.
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Résolu :
ça venait bien de mon plugin :
il manquait un Html::footer en bas de ma page front/xxx.form.php
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
OK, de fait, les fichiers javascript sont chargés en fin de page !
Offline