Joomla.it Forum

Non solo Joomla... => Sviluppo => : barra 18 May 2010, 21:16:15

: [RISOLTO] problema con JRequest::getVar e query
: barra 18 May 2010, 21:16:15
Vediamo se riesco a spiegarmi, sono abbastanza ignuuuurante in materia di MVC e del framework joomla ma sono a buon punto nella realizzazione di un componente (che dovrebbe essere 100% standard joomla).

Ho però un problema di questo tipo:
Ho una tabella dove sono visualizzate una serie di informazioni pescate da un DB. a un certo punto in questa tabella troviamo:

:
<td>
<a href=<? echo $link2 ?>><?php echo $row->importo_disponibile?></a>
</td>

dove

:
$link2 = JRoute::_( 'index.php?option=com_modulo&view=quote&id_variabile='. $row->id );
praticamente viene riportato un valore e se lo clicco visualizza la view "quote". all'interno della stessa sono visualizzate altre informazioni che prese da una tabella. Il problema è che ho la necessità di filtrare queste informazioni sulla base del valore id_variabile.

Al momento ho un models con nome "quote.php" che tra le altre cose contiene:

:
function _buildQuery() {
$query = " SELECT *  FROM #__modulo_quote WHERE id = 1";
return $query;
}

Il numero 1 è stato messo per fare delle prove e funziona.

Nel /views/quote/tmpl/default.php ho messo

:
$id_variabile = JRequest::getVar('id_variabile');
Questo prende il valore ma se lo metto qui

:
function _buildQuery() {
$query = " SELECT *  FROM #__modulo_quote WHERE id = $id_variabile";
return $query;
}

non funziona. Ho fatto un pò di prove ma non ho ottenuto nulla! Idee su come sistemare?
: Re:problema con JRequest::getVar e query
: mmleoni 18 May 2010, 21:44:13
scusa, ma come fa una variabile definita all'interno di un metodo di una classe in un file ad essere visibile all'interno di un altro metodo di un'altra classe di un altro file???

devi passarlo al model. recupera l'istanza e assegnale il valore (crea una proprietà od un metodo nel model) prima di richiamare altri metodi.

ps: sai con quel codice io ti buco il sito in 15 secondi?
 >:( fai attenzione stai passando al sql server ciò che prendi dalla query string senza nessun filtro!!!

ciao,
marco


: Re:problema con JRequest::getVar e query
: barra 19 May 2010, 08:10:43
Guarda ho preso questo: http://cms.html.it/articoli/leggi/3345/joomla-sviluppare-un-componente/

L'ho letto, installato, e modificato per ottenere quello che mi serve.
Non sono un programmatore, mi capita ogni tanto di dover mettere mano a joomla per realizzare piccoli siti. Questo è il primo approccio a qualcosa di questo tipo e (come anticipato) non conosco molto dello sviluppo MVC (e anche di php a dire il vero, leggo abbastanza il codice da capirlo ma scriverlo è una cosa ben diversa).

CMQ provo a fare quanto mi dici!
: Re:problema con JRequest::getVar e query
: mmleoni 19 May 2010, 09:22:58
allora due cose:

1:
perché il valore di id_variabile non lo leggi direttamente nel model? mi pare più semplice.

2:
se ti aspetti un intero usa JRequest::getInt('id_variabile'), se ti aspetti una view od un controller usa JRequest::getWord('nomeoggetto');

non considerare mai l'input che arriva dal web come fidato (trusted)!!!

buon lavoro ed in bocca al lupo  ;)

ciao,
marco
: Re:problema con JRequest::getVar e query
: barra 19 May 2010, 10:05:25
$id_variabile = JRequest::getVar('id_variabile');
l'ho sostituito con
$id_variabile = JRequest::getInt('id_variabile');

ed è finito in

function _buildQuery() {


Magicamente funziona, chissa come mai  :-X
Scusami ma sto imparando!