Back to top

Autore Topic: Passaggio dal Controller alla View  (Letto 1793 volte)

Offline luca.santaniello

  • Nuovo arrivato
  • *
  • Post: 49
    • Mostra profilo
Passaggio dal Controller alla View
« il: 29 Ott 2009, 16:24:10 »
Salve a tutti...

sono alle prime armi e sto cercando di prendere confidenza con il framework...

Ho il seguente problemino:

Ho un Controller e una View... entrambi hanno 2 metodi:

class TorneiController extends JController
{
    function display()
    {
        parent::display();
    }
   
    function homeTorneo()
    {
       ...
    }
}

class TorneiViewTornei extends JView
{
   function display($tpl = null)
   {
      .....

      parent::display($tpl);
   }
   
   function homeTorneo($tpl = 'homeTorneo')
   {
      ......
   }
}

Il problema è il seguente:

Se richiamo il link index.php?option=com_tornei&task=homeTorneo&idTorneo=1

mi aspettavo che venisse invocato il metodo homeTorneo della mia View...

invece viene richiamato sempre il metodo display!

Qualcuno saprebbe dirmi cosa mi manca?

Grazie a tutti in anticipo

Offline dmdigital

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Re:Passaggio dal Controller alla View
« Risposta #1 il: 30 Ott 2009, 16:21:33 »
I "task" vengono gestiti dal controller, che esegue la funzione corrispondente; in ogni caso, qualsiasi operazione di logica andrebbe fatta all'interno del controller, per rispettare il modello è opportuno che le view abbiano solamente funzionalità di visualizzazione. Quindi, puoi, all'interno della funzione del controller, fare tutte le operazioni di logica necessarie, e poi impostare con

JRequest::setVar('view','latuaview');   
parent::display();

la view da visualizzare.

Ciao!
AssistenzaJoomla.it (Assistenza Joomla, Joomla SEO e Formazione): http://www.assistenzajoomla.it
DM Digital - Realizzazione Siti Web - Sviluppo Software - Assistenza Computer - Modena - http://www.dmdigital.it

Offline luca.santaniello

  • Nuovo arrivato
  • *
  • Post: 49
    • Mostra profilo
Re:Passaggio dal Controller alla View
« Risposta #2 il: 30 Ott 2009, 16:27:14 »
I "task" vengono gestiti dal controller, che esegue la funzione corrispondente; in ogni caso, qualsiasi operazione di logica andrebbe fatta all'interno del controller, per rispettare il modello è opportuno che le view abbiano solamente funzionalità di visualizzazione. Quindi, puoi, all'interno della funzione del controller, fare tutte le operazioni di logica necessarie, e poi impostare con

JRequest::setVar('view','latuaview');   
parent::display();

la view da visualizzare.

Ciao!

Capito... ma allora ciascuna vista deve avere soltanto il metodo display?

Offline dmdigital

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Re:Passaggio dal Controller alla View
« Risposta #3 il: 31 Ott 2009, 11:29:13 »
Ciascuna vista può anche avere dei metodi, che però ti consiglio di chiamare soltanto dal metodo display(), che è quello di esecuzione vera e propria della view.
AssistenzaJoomla.it (Assistenza Joomla, Joomla SEO e Formazione): http://www.assistenzajoomla.it
DM Digital - Realizzazione Siti Web - Sviluppo Software - Assistenza Computer - Modena - http://www.dmdigital.it

Offline luca.santaniello

  • Nuovo arrivato
  • *
  • Post: 49
    • Mostra profilo
Re:Passaggio dal Controller alla View
« Risposta #4 il: 31 Ott 2009, 15:17:34 »
Ciascuna vista può anche avere dei metodi, che però ti consiglio di chiamare soltanto dal metodo display(), che è quello di esecuzione vera e propria della view.

Seguirò alla lettera il consiglio... ma adesso mi rimane il dubbio... per curiosità, come richiamo in automatico dal controller un metodo specifico della View?

Grazie mille a tutti per l'aiuto

 



Web Design Bolzano Kreatif