Ok.. ho risolto da solo..
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?.. )
Ciao a tutti,
Chiedo il vostro aiuto perché ne sto uscendo semplicemente pazzo!
Non riesco a collegare i 2 dropdown...
Il campo Comune, una volta inserita la Provincia, mi da "Loading Failed"
Allora riporto di seguito la mia situazione:
La TABELLA UTLIZZATA E I RELATIVI CAMPI SONO LE SEGUENTI:
#jos_database1 / Fields: Provincia, Comune, DATA1
_______________________________________________________________________________1) Creare i 2 Dropdown nel menù Preview:
- Il PRIMO sarà quella della scelta della nostra Provincia e quindi sarà dinamica.
Impostata in questo modo:
_______________________________________________________________________________GENERAL
----------------------------
Label Text: Provincia
Field Name: input1
Field ID: input1
_______________________________________________________________________________DYNAMIC DATA
----------------------------
Enable: Yes
Data Path: DATA
Value Key: Provincia
Text Key: Provincia
- Il SECONDO sarà dove visualizzeremo il Comune a seconda della scelta della Provincia e settata nel seguente modo:
_______________________________________________________________________________GENERAL
----------------------------
Label Text: Comune
Field Name: input2
Field ID: input2
_______________________________________________________________________________2) Creiamo il DB Multi Record Loader. Lo imposteremo in questo modo:
_______________________________________________________________________________BASIC
----------------------------
Table: #jos_database1
Model ID: DATA
_______________________________________________________________________________3) Inseriamo Dynamic Dropdown nel quale potremo utilizzare l'ancora più discusso AJAX e anche lui lo setteremo in questo modo:
Action Label: prova1
Source Dropdown ID: input1
Target Dropdown ID: input2
Use AJAX: Yes
AJAX Event name: ajax
Extra options extension: x
_______________________________________________________________________________4) Ora creiamo un nuovo evento premendo su Add Event e scriveremo in Event Name: ajax
_______________________________________________________________________________5) Aggiungiamo un SECONDO DB Multi Record Loader nella schermata On ajax. Questo lo setteremo nel seguente modo:
_______________________________________________________________________________BASIC
----------------------------
DB Field: Provincia
Table: #jos_database1
Request Param: input1
Model ID: DATA2
Fields: Provincia,Comune
_______________________________________________________________________________6) Aggiungete una Custom Code sotto al DB Multi Record Loader creato precedentemente e compilandolo in questo modo:
_______________________________________________________________________________SETTINGS
----------------------------
Mode: Controller
Action Label: prova1
Code:
<?php
$results = array();
foreach ($form->data['DATA2'] as $v){$ $results[] = $v['Comune'].'='.$v['Comune'];}
$results = implode("\n", $results);
echo $results;
$mainframe =& JFactory::getApplication();
$mainframe->close();
?>
Dove sbaglio? Aiutatemi vi supplico!