Back to top

Autore Topic: Dropdown Correlate con Ajax  (Letto 4241 volte)

Offline luX0r.reload

  • Nuovo arrivato
  • *
  • Post: 15
    • Mostra profilo
Dropdown Correlate con Ajax
« il: 19 Nov 2010, 09:45:38 »
Ciao a tutti,
mi sono da poco avvicinato alla programmazione di Joomla 1.5 e sto tentando di modificare un modulo. Questo modulo possiede due dropdown ed io vorrei che selezionando un'opzione dalla prima dropdown mi vengano caricati i dati relativi (tramite query sul db) nella seconda dropdown.
Vorrei farlo utilizzando la chiamata asincrona Ajax ma ho qualche difficoltà.
Ho implementato le funzioni Ajax nel file template del modulo e creato la chiamata sull'evento onchange della dropdown modificando il file helper. Questa chiamata chiama una pagina getItems.php, creata da me, e messa nella root del modulo.
Il problema nasce proprio in questo momento... non riesco, in questa pagina, ad usare le API di Joomla... non le riconosce come codice valido e quindi si blocca il rendering della pagina.

Se utilizzo normali chiamati php al database, il modulo funziona... ma vorrei utilizzare le API di Joomla.

Va messo qualche riferimento alle API nella pagina getItems.php che ho creato?
Oppure questa pagina va dichiarata nel file xml del modulo?

Grazie

EDIT: Ho visto che esiste la modalità RAW, ma ho trovato istruzioni solo per quando riguarda le COMPONENTI e non i MODULI. A me interesserebbe quest'ultimo.
« Ultima modifica: 19 Nov 2010, 09:59:37 da luX0r.reload »

mau_develop

  • Visitatore
Re:Dropdown Correlate con Ajax
« Risposta #1 il: 19 Nov 2010, 10:30:39 »
Questa chiamata chiama una pagina getItems.php, creata da me, e messa nella root del modulo.
---------------------------------------------------------------------------
prova a fargli chiamare  un metodo ritornando i dati appunto come raw alla stessa view

..mo vedo se trovo un esempio...l'avevo visto l'altro giorno cercando "AJax joomla"

Avevo trovato anche un'altro modo con behavior mootools e le chiamate JSON

M.

EDIT : Qs è uno  http://docs.joomla.org/Ajax_using_MooTools
« Ultima modifica: 19 Nov 2010, 10:49:32 da mau_develop »

Offline luX0r.reload

  • Nuovo arrivato
  • *
  • Post: 15
    • Mostra profilo
Re:Dropdown Correlate con Ajax
« Risposta #2 il: 19 Nov 2010, 10:56:05 »
Questa chiamata chiama una pagina getItems.php, creata da me, e messa nella root del modulo.
---------------------------------------------------------------------------
prova a fargli chiamare  un metodo ritornando i dati appunto come raw alla stessa view

..mo vedo se trovo un esempio...l'avevo visto l'altro giorno cercando "AJax joomla"

Avevo trovato anche un'altro modo con behavior mootools e le chiamate JSON

M.

EDIT : Qs è uno  http://docs.joomla.org/Ajax_using_MooTools
Grazie,
ora ci do un'occhiata... ma le view non sono solo per le componenti?
Io sto modificando un modulo (anche se poi mi toccheranno anche le componenti).


mau_develop

  • Visitatore
Re:Dropdown Correlate con Ajax
« Risposta #3 il: 19 Nov 2010, 11:06:14 »
ma le view non sono solo per le componenti?
--------------------------------------------------------------
beh, i moduli dovrebbero essere solo una visualizzazione di qualcosa nel template, tu lo stai usando come componente in realtà perchè gli stai dando delle dinamicità.

Con la 1.6 è possibile fare questa cosa, con la 1.5 ci sono un po' di problemi, se cerchi un po indietro un mese fa avevo anch'io qs problema che ho praticamente risolto come ti ho indicato, ma era un componente.

M.

Offline luX0r.reload

  • Nuovo arrivato
  • *
  • Post: 15
    • Mostra profilo
Re:Dropdown Correlate con Ajax
« Risposta #4 il: 19 Nov 2010, 11:10:25 »
Beh si è vero.
Però è un modulo di ricerca per community builder con dropdown di regione e provincia... queste ultime devono essere per forza correlate.

Intanto ti ringrazio.

Appena risolvo ti faccio sapere.

Ciao

mau_develop

  • Visitatore
Re:Dropdown Correlate con Ajax
« Risposta #5 il: 19 Nov 2010, 11:37:31 »
un modulo di ricerca
----------------------------

un modulo di ricerca non è un modulo joomla ma un componente, infatti se guardi tu hai un com_search in joomla.

M.

Offline luX0r.reload

  • Nuovo arrivato
  • *
  • Post: 15
    • Mostra profilo
Re:Dropdown Correlate con Ajax
« Risposta #6 il: 22 Nov 2010, 09:57:41 »
Eh non è proprio così.
CBCoreSearch ha sia un modulo che un componente.
Il modulo serve solo per visualizzare i campi di ricerca.
Il componente fa il resto.

Solo che nel modulo i campi di ricerca sono correlati... a questo punto, essendoci già anche il componente, mi conviene creare una RAW View e dal modulo, nella funzione Ajax, chiamare il componente chiamando questa RAW View. Però, da quel che ho visto dal design pattern, devo creare una funziona GET nel controller... giusto?

Grazie

mau_develop

  • Visitatore
Re:Dropdown Correlate con Ajax
« Risposta #7 il: 22 Nov 2010, 11:01:41 »
Eh non è proprio così.
CBCoreSearch ha sia un modulo che un componente.
Il modulo serve solo per visualizzare i campi di ricerca.
Il componente fa il resto.
------------------------------------

mi sono espresso male ma intendevo la stessa cosa, cioè che tu vedi un modulo ma dietro c'è un componente.
anche se ricorri ad ajax comunque dovrai fare un componente perchè come giustamente hai visto è "una chiamata parallela" al controller.

M.

Offline luX0r.reload

  • Nuovo arrivato
  • *
  • Post: 15
    • Mostra profilo
Re:Dropdown Correlate con Ajax
« Risposta #8 il: 22 Nov 2010, 11:22:16 »
Si, dicevamo la stessa cosa.
Allora sto facendo delle prove ma non ottengo i risultati voluti.
Sono nuovo nella programmazione con il design pattern di Joomla 1.5.
Nel controller ho aggiunto:

function province()
{
      JRequest::setVar( 'view', 'cbcoresearch' );
      parent::display();
}

ho creato una view.raw.php e per prova all'interno ho scritto:

function province($tpl = null)
{   
echo "CIAO";
}

la funzione ajax viene chiamata passando come URL

"index.php?option=com_cbcoresearch&format=raw&task=province&idprov="+idreg

Ma non ho risultati.

Se ometto il task, e quindi utilizzo la funzione standard display del controller e del view, tutto funziona.

Non capisco... forse sbaglio i nomi da dare alle funzioni?

Grazie

mau_develop

  • Visitatore
Re:Dropdown Correlate con Ajax
« Risposta #9 il: 22 Nov 2010, 11:32:05 »
mmhh no, sbagli nell'usare le classi / metodi / oggetti ... si chiamano function ma non sono propriamente function.

Fanno parte di una class e quindi sono metodi e servono per creare/manipolare oggetti

nn centra con l'mvc o con joomla.

M.

Offline luX0r.reload

  • Nuovo arrivato
  • *
  • Post: 15
    • Mostra profilo
Re:Dropdown Correlate con Ajax
« Risposta #10 il: 22 Nov 2010, 11:37:16 »
Si ho sbagliato termine, ma conosco la programmazione ad oggetti  ;)
Il problema penso sia nei nomi dei metodi.
Forse MVC per la view si aspetta come metodi qualcosa nel formato "displayNOMEMETODO", mentre io ho scritto solo "NOMEMETODO"... ?


EDIT: Ok, ci sono riuscito. Avevo sovrascritto il controller con il model. Ora funziona tutto. Devo solo aggiustare il rendering della dropdown.

Grazie

L.
« Ultima modifica: 22 Nov 2010, 14:32:23 da luX0r.reload »

Offline rushseeker

  • Esploratore
  • **
  • Post: 180
    • Mostra profilo
Re:Dropdown Correlate con Ajax
« Risposta #11 il: 30 Nov 2010, 17:56:12 »
Salve
Devo *creare la stessa identica cosa. Cioè una combobox collegata a un'altra combobox  cioè Provincia e relativi CAP.

Avevo compreso che dovevo utilizzare AJAX: visto l'accesso asincrono al database.

Vorrei capire come realizzare questa cosa, visto che non vorrei copiare il codice e quindi capire come creare questa cosa.

Gli elementi di cui ho bisogno è
) capire come lavora ajax
) devo creare una tabella dove: c'è Provincia ( chiave primaria ) e CAP
) capire come ajax accede al DB ( e in particolare alla tabella)
) come salva i dati ajax una volta prelevati dal DB
) come piazzare i dati dentro il dropdown CAP

Cosa manca?
Dove posso prendere queste risorse?

Edit:
Nel frattempo ho trovato questo su questi post:
http://docs.joomla.org/Ajax_using_MooTools
« Ultima modifica: 30 Nov 2010, 18:17:50 da rushseeker »

mau_develop

  • Visitatore
Re:Dropdown Correlate con Ajax
« Risposta #12 il: 30 Nov 2010, 18:36:58 »
quel link era nel secondo post e diciamo che relativamente a joomla è uno dei pochi riferimenti dettagliati, il resto thread lasciati a metà... o risolti con smanacciamenti non proprio belli da vedere ma comunque efficaci, basta una semplicer ricerca con google.

Per jquery, mootools ajax etc esistono le specifiche community italiane e non come per joomla.

M.

mau_develop

  • Visitatore

Offline rushseeker

  • Esploratore
  • **
  • Post: 180
    • Mostra profilo
Re:Dropdown Correlate con Ajax
« Risposta #14 il: 06 Dic 2010, 13:25:12 »
Veramente grazie.

La prima soluzione che mi è venuta in mente è stata quella di farlo totalmente in javascript, inserendo il codice direttamente dentro il campo appositamente creato da Chronoform.

Per quanto il codice sia efficiente, ho trovato la sua stesura un vero e proprio calvario!

Ho estratto dal db e creato per ogni provincia i CAP... poi ho creato un mega switch... inefficienza nello sviluppo... ma funziona.

 



Web Design Bolzano Kreatif