[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Dictionary definition in module descriptor

From: Remy Younes
Subject: Re: [Dolibarr-dev] Dictionary definition in module descriptor
Date: Tue, 18 Oct 2011 07:52:50 -0400

Yes, I do realize that *adding* a dictionary is no more hard coded.
However field editing is still hard coded.

here is an example:
Let's say I want one of my fields in the new directory to be edited with a <select> box. (country selection does that but it's hardcoded)
I working on a hook to be able to do this.

this is the method that allows input formatting in dict.php

function fieldList($fieldlist,$obj='')

is this more clear ?

On Tue, Oct 18, 2011 at 7:42 AM, Laurent Destailleur (eldy) <address@hidden> wrote:
No it's no more hardcoded (hard code was to manage backward compatibility).
This is an example that may help you. Assume that your module is called "cabinetmed" :

        if (! isset($conf->cabinetmed->enabled)) $conf->cabinetmed->enabled=0;    // This is to avoid warning

            'tabname'=>array(MAIN_DB_PREFIX."cabinetmed_diaglec",MAIN_DB_PREFIX."cabinetmed_examenprescrit",MAIN_DB_PREFIX."cabinetmed_motifcons"),        // List of tables we want dictonnary on
            'tablib'=>array("DiagnostiqueLesionnel","ExamenPrescrit","MotifConsultation"),                                                                // Label of tables
            'tabsql'=>array('SELECT f.rowid as rowid, f.code, f.label, FROM '.MAIN_DB_PREFIX.'cabinetmed_diaglec as f','SELECT f.rowid as rowid, f.code, f.label, FROM '.MAIN_DB_PREFIX.'cabinetmed_examenprescrit as f','SELECT f.rowid as rowid, f.code, f.label, FROM '.MAIN_DB_PREFIX.'cabinetmed_motifcons as f'),    // Request to select fields
            'tabsqlsort'=>array("label ASC","label ASC","label ASC"),                                                                                    // Sort order
            'tabfield'=>array("code,label","code,label","code,label"),                                                                                    // List of fields (result of select to show dictionnary)
            'tabfieldvalue'=>array("code,label","code,label","code,label"),                                                                                // List of fields (list of fields to edit a record)
            'tabfieldinsert'=>array("code,label","code,label","code,label"),                                                                            // List of fields (list of fields for insert)
            'tabrowid'=>array("rowid","rowid","rowid"),                                                                                                    // Name of columns with primary key (try to always name it 'rowid')
            'tabcond'=>array($conf->cabinetmed->enabled,$conf->cabinetmed->enabled,$conf->cabinetmed->enabled)                                            // Condition to show each dictionnary

Le 18/10/2011 03:57, Remy Younes a écrit :
Hello everyone, 
I noticed that modules can now add dictionaries by setting  $this->dictionnaries = array(); in the module descriptor (in 3.2 dev, maybe earlier but I wasn't aware).
This is a nice feature, however I can't figure out how to define the input type for each field. 
I see that this is hardcoded in dict.php in the fieldList method
for example, for country selection we have: 

 if ($fieldlist[$field] == 'pays') {
            if (in_array('region_id',$fieldlist)) { print '<td>&nbsp;</td>'; continue; } // For region page, we do not show the country input
            print '<td>';
            print '</td>';

It would be nice to be able to define our own fields' types as well
Maybe the use of hooks or triggers would be appropriate.

Let me know if i'm missing something. Otherwise, I have some code that I wrote under dol v2.9 that I could share. 

Dolibarr-dev mailing list

Eldy (Laurent Destailleur).
EMail: address@hidden

Dolibarr (Project leader):
To make a donation for Dolibarr project via Paypal: address@hidden
AWStats (Author) :
To make a donation for AWStats project via Paypal: address@hidden
AWBot (Author) :
CVSChangeLogBuilder (Author) :

Dolibarr-dev mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]