Oggi parleremo di un plug in per Fabrik interessantissimo nella sua funzione. Questo plug in nominato "Autofill" serve per creare tutti quei form dove una parte dei dati verranno inseriti nel form in maniera automatica perchè presenti nel nostro database, la funzione si chiama "Auto populate".
Gli esempio di utilizzo sono pressochè illimitati, pensate a tutti quei documenti che prevedono l'inserimento di dati anagrafici come fatture e bolle di accompagnamento.
Ho impostato questo tutorial in modo tale da mettere in pratica le guide pregresse su altri plug in di Fabrik, in particolare quella sui plug in "DataBaseJoin" e "CascadingDropDown".
In questo tutorial andremo a costruire un form dove una serie di campi si autopopoleranno in base all'inserimento del codice fiscale. Per lo svolgimento di questa guida sarà necessario andare a scaricare il plug in "Autofill" da questa pagina. Come sempre dopo averlo scaricato ed installato lo dovrete attivare nella gestione dei plug-in di joomla.
Il prerequisito per la costruzione di questo form è quello di avere creato una lista e quindi un form ed i suoi campi per la memorizzazione dei dati anagrafici, quindi saranno 2 i form da realizzare, il primo per accogliere i dati anagrafici ed il secondo per essere autopopolato ed inserire i dati variabili.
Costruiamo il primo form: per i neofiti vi consiglio di leggervi questa guida su Fabrik in quanto non starò a riscrivere come si realizza un form passo passo.
Campi necessari per il form dei dati anagrafici:
- codice_fiscale
- nome
- cognome
- indirizzo
- telefono
- regione_residenza
- provincia_residenza
- comune_residenza
Per i dettagli sulla costruzione di questo form, basatevi su questa guida: ottenere una serie di voci dentro la dropdowlist in relazione a cosa è stato scelto nella dorpdown precedente
Ho voluto inserire anche la classica serie di dropdownlist a cascata per farvi vedere come gestirla con il plug in "autofill". Qui la guida sulla costruzione di una serie di select list a cascata con Fabrik con regioni, province e comuni.
Campi necessari per la costruzione del form che si autopopolerà con i dati del precedente Form e che chiameremo form "scheda":
- codice_fiscale - campo di tipo Field
- nome - campo di tipo Field impostato in sola lettura
- cognome- campo di tipo Field impostato in sola lettura
- indirizzo- campo di tipo Field impostato in sola lettura
- telefono- campo di tipo Field impostato in sola lettura
- regione_residenza - campo di tipo databasejoin collegato alla tabella regioni
- provincia_residenza - campo di tipo databasejoin collegato alla tabella province
- comune_residenza - campo di tipo databasejoin collegato alla tabella comuni
- iscrizione_gioco - campo di tipo picklist per la scelta di uno o più tornei di carte da disputare
Essendo questa guida incentrata sul meccanismo dell'Auto populate, non ci occuperemo adesso del campo iscrizione_gioco, ma lo faremo in un prossimo articolo dove tratteremo il plug in "picklist".
Nella immagine seguente vediamo come impostare i campi in sola lettura
Per i campi regione_residenza, provincia_residenza e comune_residenza, utilizzeremo il plug in "databasejoin" che ci consentirà di convertire il codice ID del campo in un nome meglio riconoscibile, quindi collegheremo i rispettivi campi regione_residenza, provincia_residenza e comune_residenza con le tabelle regioni, province e comuni già utilizzate nella precedente guida, impostando come valore ed etichetta rispettivamente l'id(regione/provincia/comune) e il nome(regione/provincia/comune). Per chiarire, se avessimo utilizzato come tipo di campo un semplice field anzichè un DataBaseJoin, avremmo ottenuto solo l'id del campo, un semplice numero che non ci avrebbe detto niente!
Il passo successivo sarà quello di rendere i tre campi regione_residenza, provincia_residenza e comune_residenza in sola lettura, quindi per prima cosa imposteremo come tipo di render "Render as" su "Auto completa". Lo potete vedere impostato nell'immagine precedente. Successivamente ci porteremo sul link "Javascript" per ognuna delle tre voci (regione_residenza, provincia_residenza e comune_residenza), inserendo le seguenti impostazioni:
- Pubblicato: SI
- Event: MOUSEDOWN
- Se l'elemento è: SHOWN
- Valore: (lasciare vuoto)
- Action: READONLY
- Element: il vostro elemento da rendere READONLY (in sola lettura)
Adesso configuriamo il plug in "Autofill"
Questo plug in agisce a livello FORM, così sarà proprio nel form realizzato per l'auto-completamento che dovrà essere attivato, quindi portatevi su Fabrik nella gestione dei form e cliccate nel form relativo all'auto-completamento, quello che io ho chiamato "SCHEDA".
Una volta entrati portatevi nella tabs plug-in, premete aggiungi ed aggiungete il plug in "Autofill", quelle che seguono sono le impostazioni:
Nella prima parte delle impostazioni dovremo solo curarci che il plug in sia pubblicato e che su esegui sia impostato "autofill", potremo scegliere se il plug in deve funzionare sia nel back end o nel front-end oppure in entrambi i lati. Scegliete Entrambi.
nella seconda parte del plug in dovremo indicare:
- Connessione: Questa come spiegato altre volte è la connessione al nostro database, fabrik ci permette di collegarci a database diversi, basterà creare le Connessione: fate attenzione che non tutti i plug in funzioneranno con database diversi.
- Lista: Scegliere la lista da dove verranno prelevati i dati che completeranno il form. Questa corrisponde al form realizzato per memorizzare i dati anagrafici e che ho chiamato "clienti"
- Lookup field: Questo è il campo su cui si baserà il funzionamento del plug in, quando inseriremo un codice fiscale o comunque un dato univoco, il plug in popolerà i campi a partire da questo dato.
- Campo da osservare: Questo è il campo antagonista, ovvero il campo dove verrà fatto il controllo del database (campo nella tabella dei dati anagrafici).
- Dati mappa: Qui inseriremo delle stringhe di testo che serviranno per accoppiare i campi della tabella delle anagrafiche con i campi da popolare. Vediamo di capire meglio:
Le istruzioni sono molto semplici, prendiamo ad esempio il campo nome e trascriviamolo in maniera più semplice;
{"nome_tabella_anagrafica___nome_campo":"nome_tabella_da_popolare_nome_campo"}
quindi avremo;
{"c_clienti___nome":"a_scheda_nome"}.
Adesso poichè abbiamo più campi, queste stringhe saranno separate da una virgola, non dimetichiamo poi una parentesi graffa di apertura e di chiusura di tutto questo gruppo. da notare che l'ultima stringa non avrà bisogno della virgola finale.
Voglio aggiungere che queste "strane" stringhe sono recuperabili visualizzando nella gestione elementi di fabrik la colonna" nome completo dell'elemento", vedi immagine seguente:
Questa la pagina ufficiale delle istruzioni per questo plug in in rigoroso inglese http://fabrikar.com/forums/index.php?wiki/autofill-form-plugin/
Questo tutorial sul plug in per Fabrik "autofill" termina qui, se avete dubbi postate sui commenti. Se volete potete offrirmi un caffè cliccando nel pulsante sottostante, oppure cliccate su uno dei banner pubblicitari.