Utilisation ExtraFields

Bonjour.

J’aimerais savoir comment faire pour créer dans mon objet, un champ de formulaire pour uploader un logo et un champ de formulaire pour sélectionner plusieurs Produits (je dois retourner une liste de produits dans ma table). J’ai lu la documentation Dolibarr sur les ExtraFields mais je ne comprends pas comment procéder.

En effet, je souhaite avoir plus d’indications sur la partie où je dois mettre ce bout de code dans ma classe:
$ extrafields = nouveaux ExtraFields ( $ db );
$ extralabels = $ extrafields -> fetch_name_optionals_label ( $ object -> table_element );

Merci.

Bonjour,

Quel est cet objet ?

Au fait, c’est un objet que j’ai créé dans un module que je suis en train de développer actuellement.
Mon objet je l’ai nommé Assureur.

Les extrafields sont disponibles pour les objets du systéme pas pour les objets crées dans un module personnel…
Je vois pas l’intérêt de faire des extarfields sur un module personnel, créez directement ce que vous avez besoin dans l’objet.

Mon objet Assureur, fait appel à l’objet Product du système.

Dans mon formulaire de création d’une nouvelle instance d’Assureur, je voudrais retourner une liste de Products sélectionnés par l’utilisateur. Je veux en quelque sorte avoir un champ de sélection multiple de produits. Avec la définition des champs dans le fichier assureur.class.php, j’arrive à retourner qu’un seul produit:

// BEGIN MODULEBUILDER PROPERTIES
/**
* @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor.
*/
> public $fields=array(

		'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'comment'=>"Id"),
        'assureur' => array('type'=>'integer:Assureur:/assuranceproduits/class/assureur.class.php', 'label'=>'Assureur', 'enabled'=>1, 'position'=>50, 'notnull'=>1, 'visible'=>1, 'index'=>1, 'help'=>"Societe d'assurance",),
        'products' => array('type'=>'integer:Product:product/class/product.class.php', 'label'=>'Produits', 'enabled'=>1, 'position'=>52, 'notnull'=>1, 'visible'=>1, 'help'=>"liste des produits",),
		'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'position'=>500, 'notnull'=>1, 'visible'=>-2,),
		'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'position'=>501, 'notnull'=>0, 'visible'=>-2,),
	);
	public $rowid;
	public $assureur;
	public $products;
	public $date_creation;
	public $tms;
**// END MODULEBUILDER PROPERTIES**