Générateur de module : Extrafields

Bonjour tout le monde,
Novice dans le développement de module, je me lance à peine en m’aidant du générateur de module de dolibarr (9.0.2).
Tout fonctionne nickel, ajout de module, ajout d’objets, paramétrages de menus … etc. J’ajoute ensuite de extrafields, nickel aussi, en modifiant le descripteur de module, ensuite je rencontre deux problèmes :

- Comment paramétrer le champs param de l’extrafield? Celui qui dit d’où chercher la donnée.
Moi dans mon cas, mon extrafield doit être un Checkbox (multiple) qui source d’une base de donnée.

- Deuxième problème, une fois que j’ai paramétré un tant soit peu le champs, quand je crée l’objet cela ne sauvegarde rien dans l’extrafield. Tout l’objet est sauvegardé dans la base, mais rien n’est sauvegardé dans la table extrafield.

Ou sinon, si je peux éviter l’extrafield, comment ajouter une checkbox directement dans l’objet?

Merci pour vous réponses.
Requête assez urgente.

Slt

On peut voir le module ?

Il s’agit d’un nouveau module créé à l’aide du générateur de module.
Ensuite, il a été ajouté cet extrafield dans le descripteur du module, puis activé le module.

$result1=$extrafields->addExtraField(‹ myattr1 ›, « New Attr 1 label », ‹ boolean ›, 1, 3, ‹ concept_store ›, 0, 1, ‹  ›, ‹  ›, 1, ‹  ›, 1, 0, ‹  ›, ‹  ›, ‹ concept@concept ›, 1);

Ensuite, je vérifie les tables du module (de l’objet) et le nouvel attribut a bien été ajouté.
Mais quand je teste le formulaire tout s’enregistre sauf l’extrafield

Bonjour,

Sans avoir accés à votre module on pourra pas vous aider.
Ou alors il faudra être beaucoup plus précis dans vos explicaitons.

1 « J'aime »

Qu’est ce que je dois copier ici?
Ou sinon les explications, je vais reprendre :

Il s’agit de Dolibarr 9.0.2, voici les étapes suivies :
- Activer le module « Générateur de module », on choisira le nom « Concept » pour le module.
- On crée un objet qui s’appellera Store
- On va dans le descripteur de module pour ajouter un Extrafield : concept/core/modules/modConcept.class.php
- À la ligne 350, on ajoute la ligne d’extrafield (on va appeler le champs « Catégorie »):
$result1=$extrafields->addExtraField(‹ category ›, « Catégorie », ‹ text ›, 1, 3, ‹ concept_store ›, 0, 1, ‹  ›, ‹  ›, 1, ‹  ›, 1, 0, ‹  ›, ‹  ›, ‹ concept@concept ›, 1);

Jusque là, tout va bien.
Ensuite …
- On active le module pour le tester.
- On va à son onglet qui s’affiche correctement.
- On va au menu de gauche qui s’affiche correctement.
- On clique sur ajouter « Nouveau store » et le formulaire s’affiche correctement, et l’extrafield est bien présent dans le formulaire.
- On remplit le formulaire du Store pour ajouter un store.
- Le formulaire se valide correctement, théoriquement tout a fonctionné.

Sauf qu’en vérifiant la base de donnée, la table llx_concept_store est bien alimentée, mais la table llx_concept_store_extrafields ne contient aucun enregistrement.

Ai-je loupé une étape?

Merci par avance.

-Il serait plus simple d integrer les extrafields avec un acces a partir du setup
(a mon avis )

-Si vs partagiez votre module ??

Comment ça à partir du Setup? Des étapes à suivre SVP?
Ok, mais comment le partager? Que dois-je vous uploader?

Zippez le dossier du module ds custom …tout simplement :wink:

Le voilà attaché :happy:
Merci pour votre aide.

Pièces jointes :

V0concept.zip (156 KB)

1 « J'aime »

Hello,
Nickel, maintenant ça s’enregistre.

Pouvez-vous m’apprendre la manipulation que vous avez effectué?
Merci

Je n’y comprends rien encore une fois,
j’ai refait la procédure de zéro :

- Créer un nouveau module.
- Créer un nouvel objet.
- Ajouter la tab Extrafield dans store.class.php
- Ajouter la page Extrafield dans le dossier admin.
- Ajouter un champs Extrafield.
- Essayer d’ajouter un enregistrement.

Pareil !!! Tout s’enregistre sauf l’extra.
Please
Merci

Pièces jointes :

aussi, comment paramétrer une checkbox(multi) dans l’objet?
Merci

Bonjour l’équipe,

j’ai absolument tout essayé pour faire enregistrer mes extrafields, mais rien n’y fait.

  1. Je crée un nouveau module.
  2. Je crée un nouvel objet.
  3. Je modifie le setup pour que je puisse ajouter des extrafields depuis le menu setup du module.
  4. J’essaye d’ajouter un enregistrement, tout s’enregistre sauf le champs supplémentaire… :unhappy:

Help, merci.

Up
Désolé du double post, mais je signale mon urgence.
Merci pour votre compréhension.

Bonjour,

1- La correction faite par pm17 ne vous convient pas ?
2- Partagez votre module si vous voulez de l’aide