1
Pubblica Amministrazione / Re:Una APP per il sito scolastico
« il: 31 Gen 2016, 21:36:19 »
Grazie per la segnalazione, anche se mi aspettavo che vista la diffusione di joomla ci fosse qualcosa di specifico
Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.
Ok.. ho risolto da solo..Ciao, ho provato ad applicare quanto hai proposto a due tabelle diverse collegate con la stessa logica, devo visualizzare le categorie che appartengono ad una determinata sezione che seleziono in un diverso combobox. Purtroppo però qualcosa non mi funziona, potresti gentilmente postare la struttura delle 3 (cosi si capisce) tabelle coinvolte nell'esempio che hai usato per spiegare i Dynamic DropDown, è comunque un vero peccato che non esista una esaustiva guida completa delle chronoforms .. o almeno io non l'ho trovato (solo qualche scarno pdf parziale).
Mi piacerebbe sistemare questo topic per fare in modo che qualche altra persona che avesse bisogno di aiuto in merito come me possa avere un punto di riferimento che spieghi in modo semplice come agire dato che, non vuole essere una critica, difficilmente è possibile reperire guide complete o semplici e ricevere costantemente un supporto sul forum..
COME COLLEGARE DUE DROPDOWN DINAMICHE:
In questo esempio vedremo come alla scelta di un determinato condominio nella PRIMA Dropdown vengano visualizzate distinte scelte, esercizi, nella SECONDA Dropdown:
Le TABELLE UTLIZZATE E LE FIELDS SONO LE SEGUENTI:
#__chronoforms_data_condomini / Fields: cond_inte
#__chronoforms_data_esercizio / Fields: ese_cond, ese_des
#__chronoforms_data_tabelle / Fields: tab_cond, tab_ese
1)Creare due dropdown nel menù Preview
- La PRIMA sarà quella della scelta del nostro condominio e quindi sarà dinamica permettendo dunque di visualizzare e scegliere i valori contenuti in una tabella del nostro DB. La imposteremo in questo modo:
_______________________
GENERAL
----------------------------
Label Text: Condominio
Field Name: tab_cond (field in cui verrà messo quel che abbiamos elezionato)
Show Empty: Seleziona..
Field ID: drop1 (farà da guida al nostro AJAX)
_______________________
DYNAMIC DATA
----------------------------
Enable: Yes
Data Path: dropcond (serve a dirle di utilizzare l'evento DB Multi Record Loader che ha lo stesso MODEL ID, il quale gli dirà da quale tabella caricare le seguenti field)
Value Key: cond_inte
Text Key: cond_inte
- La SECONDA sarà quella dove dovremo visualizzare i dati a seconda della scelta della PRIMA ed andrà settata nel seguente modo:
_______________________
GENERAL
----------------------------
Label Text: Esercizio
Field Name: tab_ese (field in cui verrà messo quel che abbiamos elezionato)
Field ID: drop2 (farà da guida al nostro AJAX)
2)Creiamo il PRIMO DB Multi Record Loader che per l'appunto servirà a popolare la PRIMA Drop Down.. Lo imposteremo in questo modo:
_______________________
BASIC
----------------------------
Table: #__chronoforms_data_condomini
Model ID: dropcond (esatto.. ecco dove dovremo inserire il nostro "dropcond" per fargli capire su quale Dropdown andrà a caricare i dati)
3)Inseriamo (non dentro al DB Multi Rec..) il tanto discusso Dynamic Dropdown nel quale potremo utilizzare l'ancora più discusso AJAX e anche lui lo setteremo in questo modo:
Action Label: prova1 (per comodità la chiameremo così ma potrete scegliere a caso)
Source Dropdown ID: drop1
Target Dropdown ID: drop2
Use AJAX: Yes
AJAX Event name: ajax (per richiamare l'evento che inseriremo in seguito nel quale vi sarà un'altra DB Multi ecc.., + un custom code)
Extra options extension: x (si... inseriremo una banalissima "x".. perchè?.. perchè non lo possiamo lasciare vuoto altrimenti non funzionerà..)
4) Ora creiamo un nuovo evento.. semplicemente premendo su Add Event (quel + bianco con sfondo verde tondeggiante in basso a sinistra nella scermata Event(quella schermata che state guardando da 2 ore..)) e scriveremo in Event Name: ajax (si.., ha a che fare con l'AJAX Event name di prima)
5) Aggiungiamo un SECONDO e ultimo DB Multi bla bla bla.. nella schermata On ajax che si sarà creata se avrete eseguito il passo "4)". Questo lo settermo nel seguente modo:
_______________________
BASIC
----------------------------
DB Field ese_cond (field della tabelle esercizio in cui cercherà il condominio selezionato )
Table: #__chronoforms_data_esercizio
Request Param: tab_cond (parametro che verrà passato alla scelta del condominio, possibilimente uguale al Field Name che avevamo utilizzato nella PRIMA DropDown)
Model ID: dropese2 (ci servirà a richiamare i valori nella nostra tabella nel Custom Code che inseriremo dopo)
Fields: ese_cond,ese_des (occhio a scriverli senza spazzi.. errore per il quale ho sbattuto la testa 3 ore!!!)
6) Ultimo passo! Aggiungete una Custom Code sotto alla DB Field bim bum bam che avete creato con il passo "5)" (non dentro.. ripeto) e la dovrete compilar ein quesot modo:
_______________________
SETTINGS
----------------------------
Mode: Controller
Action Label: prova1 (tanto per ricordarci a cosa serve)
Code:
<?php
$results = array();
$results[] = '=Seleziona..';
foreach ($form->data['dropese2'] as $v){$results[] = $v['ese_des'].'='.$v['ese_des'];}
$results = implode("\n", $results);
echo $results;
$mainframe =& JFactory::getApplication();
$mainframe->close();
?>
Finito.. (non mastico molto bene il lessico informatico.. quindi mi scuso se qualche GURU del settore trovasse qualche errore P.s.: in caso ci fossero errori tipo di digitura mi scuso con i professori nel forum ma alle 3:00 scrivendo veloce si saltano lettere e si mettono SPACE in ritardo.. quindi alcuen parole sono anche scordinate a causa di lettere che rimangono attaccate ad altre .. è pur sempre una guida no?.. )
|