Question sur le générateur de module

Bonjour,

Je débute dans le développement d’un module et j’avoue que le fonctionnement de la création d’objet dans le générateur de module me laisse perplexe.

Voici ce que j’ai fais :

  • j’ai créé mon module via le générateur
  • j’ai créé un fichier llx_monmodule.sql pour créer la table principale de mon module (à l’activation la table est bien créée)

Par contre, si je veux créer un objet lié à cette table, je suis obligé de remplir le champ « clé de l’objet » puis je choisi ma table dans le champ « Définir des propriétés existantes … »

Dès que je clique sur le bouton « Générer le code », les classes sont créées et une nouvelle table également sous la forme llx_monmodule_cledelobjet ???

Comment faire pour que, lors de la génération du code, il n’y ai pas cette création d’une nouvelle table ?

Je pense que je rate un truc mais je ne vois pas quoi.

Merci d’avance

Bonjour,

Si vous parlez de « lignes » de l’objet comme dans les devis/commande/facture/etc… il faut regarder du coté du code (incomplet) que génère le moduleBuilder et s’inspirer des classes qui gèrent des lignes.

Si vous parlez de lié deux concepts (1,n) entre eux, là c’est llx_element_element qu’il faut étudier (htdocs/core/class/commonobject.class.php->fetchObjectLinked, add_object_linked, updateObjectLinked, deleteObjectLinked)

Si vous parlez de lien 1 concept = 1 votre"mon module" (un devis => seulement 1 tiers) => c’est un champ de l’objet (exemple champ tiers avec le moduleBuilder)

Bonjour,

Si je comprends bien, dans le cas où ma table est créée via le fichier « .sql » correspondant lors de l’activation du module, je ne peux pas, via le générateur de module, créer un objet juste sur cette table.

Je dois m’inspirer des templates que je vais trouver dans « /htdocs/modulebuilder/template/class/myobject.class.php »