Bonjour,
J’ai fait quelques recherches sur le forum, sans succès. Désolé.
J’ai créé un module personnalisé avec le modulebuilder.
Super et très intuitif en partant de la coquille de départ.
Par contre, j’aimerais pouvoir utiliser un champ dans mes listes, issus d’extra-field.
Je récupère dans mon module, les contacts existants dans ma base :
integer:Contact:contact/class/contact.class.php:1:(statut:=:1)
J’aimerais ajouter un autre champ content un extrafield de contact : « zone ».
Auriez-vous une piste pour pouvoir récupérer ce champ dans ma liste ?
Merci à vous pour votre aide et pour votre temps !
Je ne connaissais pas cette option et d’ailleurs, j’ai du mal à voir comment l’appliquer.
Je pensais la mettre au niveau du « Type » avec par exemple varchar(255): devant, mais ça ne fonctionne pas. J’ai fait quelques autres essais, mais en vain.
Je suis partant pour un indice supplémentaire, s’il te plaît, merci
Si je comprends bien la situation, tu as un extrafields dans ta table llx_contact_extrafields qui est un entier faisant référence à une valeur par rapport à une liste de zone que tu as instancié grâce à un champ de type liste (donc en dur directement dans l’extrafield) c’est ça ?
Si oui, se l’on moi, il vaut mieux faire un nouveau dictionnaire dans ton module en suivant la documentation (dans ton descripteur de module). Ce dictionnaire va pouvoir répertorier toutes tes zones. (à voir si dans dolibarr, il n’y a pas déjà un dictionnaire qui fait déjà ce service)
Et à ce moment-là, tu ferais une liste issue d’une table qui pointe vers la table de ton dictionnaire qui peut ressembler à ça : llx_c_zone (MAIN_DB_PREFIX + c + Nom de ta table)
Ce qui te donnerait dans ton extrafield de contact :
Type de l’extrafield : liste issue d’une table
Valeur : c_zone:label:rowid
J’ai testé avec le dictionnaire des régions « llx_c_regions » ( dictionnaire de base dans dolibarr) et ça marche nickel.
c_regions:nom:rowid
( si tu veux tester et voir le comportement sur une instance de test)
N’hésite pas à signalé si tu as avancé ou si tu as encore besoin d’aide.
Alors ce n’est pas vraiment ça. Mais par contre, j’ai appris plein de choses grâce à toi et donc j’ai fait des modifs pour passer mes extrafield en dur, vers des dictionnaires et d’ajouter d’autres dictionnaires pour gagner en maintenance. Merci beaucoup !!
J’enchaîne avec des réunions, je teste ça en début de semaine et je te redis.
Merci encore !
Seul souci, c’est que j’utilise le module-builder, donc je n’ai pas accès à des extra-fields et à cette possibilité de faire des listes issues d’une table. Sauf erreur de ma part, je ne peux donc pas utiliser cette option.
Sinon, il faudrait que je trouve un moyen de l’alimenter par une requête SQL au moment de la création. Je ne sais pas si c’est quelque chose de faisable avec un Hook par exemple ? Mais c’est peut être partir vers une autre galère…