Back to top

Autore Topic: utilizzo base per capire mvc su joomla  (Letto 2087 volte)

Offline drag0nman

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
utilizzo base per capire mvc su joomla
« il: 10 Gen 2013, 11:17:53 »
Salve ragazzi, complimenti per il forum.

Ho già letto tutorial e documentazioni ed il concetto mvc mi è chiaro.
Ho solo un dubbio su come realizzare le cose su joomla poichè vi sono tutorial o troppo banali o troppo complessi.

Vorrei per capire le funzioni da utilizzare nella comunicazione tra modello-vista-controller un componente di esempio che fa:


Visualizzare nella prima view: 2 campi di input( nome , cognome) e 2 bottoni ( stampaeta, stampalavoro).
In base al bottone premuto il controller deve eseguire una funzione o un'altra nel modulo, recuperare i dati e mostrarli in un'altra view.


Qualcuno è disposto a farmi vedere come implementare una cosa del genere?
Io ho cercato ma i tutorial hanno sempre il controller vuoto o che richiama le viste standard.
Grazie.

mau_develop

  • Visitatore
Re:utilizzo base per capire mvc su joomla
« Risposta #1 il: 10 Gen 2013, 15:16:23 »
:) il concetto mvc come lo chiami, non ti è chiaro altrimenti non faresti questa domanda.

Io ti consiglio, invece di giudicarli troppo o troppo poco, di iniziare leggendo e capendo mentre li scrivi, gli esempi helloworlds.

PLS: non scrivetemi messaggi privati altrimenti alla fine stacco la fatturina ... sul forum è gratis
« Ultima modifica: 10 Gen 2013, 16:37:31 da mau_develop »

Offline drag0nman

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
Re:utilizzo base per capire mvc su joomla
« Risposta #2 il: 10 Gen 2013, 17:02:03 »
Forse sarà come dici tu...e allora non l'ho poi capito cosi bene.
Ma io questo l'ho letto tutto:


http://docs.joomla.org/Developing_a_Model-View-Controller_%28MVC%29_Component_for_Joomla!1.6_-_Part_01


anche quest'altro:


e anche altre guida
http://library.logicsistemi.it/it/joomla/developing-joomla-25-mvc-components/18-sviluppare-componenti-mvc-joomla25-parte1


Pero te l'ho detto, non mi basta più che venga lanciata una sola vista.
Mi servirebbe qualche interazione più, come ad esempio funzioni diverse in base a bottoni premuti e altro , avviare diverse viste, eseguire nuovi calcoli e questo non lo sto riuscendo a trovare o capire come si fa.


Cmq continuo la ricerca, grazie lo stesso.

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:utilizzo base per capire mvc su joomla
« Risposta #3 il: 10 Gen 2013, 18:05:22 »
Purtroppo la guida hello word non serve a molto, certo ti dice questa è la base ma se uno vuole fare una cosa piu complessa c'e solo una strada provare e riprovare guardando magari le altre estensioni e come fanno. La guida faccio tutto purtroppo non esiste e ti posso assicurare che sviluppare su joomla per bene è molto complesso e ci vuole molto tempo per capire come funziona il tutto
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

mau_develop

  • Visitatore
Re:utilizzo base per capire mvc su joomla
« Risposta #4 il: 10 Gen 2013, 18:10:25 »
allora, vediamo un po' di andare avanti...

tu dici lanciare una vista, vabbene chiamiamolo così, se hai letto e capito come dici l'mvc avrai capito cosa succede quando lanci quella vista.
1) come fai a lanciarla?
2) chi fa ciò che dici lanciandola, es salvare cancellare etc..?
3) come gli dici di fare qualcosa?


Offline drag0nman

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
Re:utilizzo base per capire mvc su joomla
« Risposta #5 il: 11 Gen 2013, 10:46:04 »

Se non l'ho capito come si deve ce ne accorgeremo ;)


All'inizio se non si specifica un task particolare, viene eseguito il metodo display del controller.
Io, dentro questo metodo lancio la prima vista chiamata insertdata:


JRequest::setVar('view', JRequest::getCmd('view', 'insertdata'));
parent::display($cachable);




In insertdata, vi è un form con solamente due campi ed un bottone.
Non l'ho collegata a nessun modello.


Dopo che premo il bottone, a me servirebbe lanciare una seconda vista che stavolta sia collegata ad un modello che presi in input i campi del form precedente, faccia una query ed in base al risultato di questa poi ne faccia altre 2.
Unire le informazione prese da queste ultime due query e stampare in righe le informazioni.  Ultima colonna di ogni riga dovrà essere  un checkbox e po si dovrà aprire una terza vista in base agli elementi selezionati. Ma non andiamo troppo avanti ;)


Quello che mi domando attualmente è come collegare le due viste ed ho un dubbio.
Se farlo fare di nuovo dal controller o muovermi dalla vista.


Da quello che ho capito in generale se devo eseguire qualche funzione nel controller:


Codice: [Seleziona]
<form action="<?php echo JRoute::_'index.php' );?>" method="post"  >   
<input id="campo_cognome"  type="text" name="cognome" value="Cognome" />
<input id="campo_prenotazione" type="text" name="codice" value="Codice Prenotazione" />
<input type="hidden" name="option" value="com_componente" />
<input type="hidden" name="task" value="nome_funzione" />
<input type="submit" name="invia" value="vai" />
</form>


task => è la funzione del controller
option => il nome del componente


Ma alla seconda vista come ci arrivo? In questo modo?


action="<?php echo JRoute::_( 'index.php?option=com_componente&view=nuova_vista' );?>"


Grazie...

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:utilizzo base per capire mvc su joomla
« Risposta #6 il: 11 Gen 2013, 11:03:44 »
Puoi o creare un nuovo layout della view precedente tipo default_step2.php oppure creare una view nuova

Se vuoi usare il layout metti view=view_base&layout=step2.

Ma devistare attento perche adesso devi gestire il fatto che visualizzi altro e hai dati a disposizione inseriti precedentemente quindi nella view devi richiedere dati in maniera differente al model
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline drag0nman

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
Re:utilizzo base per capire mvc su joomla
« Risposta #7 il: 11 Gen 2013, 11:24:06 »
Nell'attesa di saper come aprirla, avevo già creato la seconda visualizzazione come vista ed il modello relativo.


Grazie cmq per il consiglio del layout.

Il modo di discernere se adoperare un layout o una vista, sarebbero i dati su cui lavori, giusto?
Immaginando che non ci sia un modo univoco, ma tutto alla fine cambia in base al contesto, se i dati sono pressoché gli stessi si adopera un layout altrimenti si crea una vista differente?

mau_develop

  • Visitatore
Re:utilizzo base per capire mvc su joomla
« Risposta #8 il: 11 Gen 2013, 14:27:20 »
All'inizio se non si specifica un task particolare, viene eseguito il metodo display del controller.
Io, dentro questo metodo lancio la prima vista chiamata insertdata:
JRequest::setVar('view', JRequest::getCmd('view', 'insertdata'));
parent::display($cachable);
------------------------------------------------------------------------
con il tuo componente o cmq estensione "estendi" qualcosa che già esiste e funziona quindi se non "sovrascrivi" un metodo viene usato quello della classe genitore.
giustamente se non c'è un valore viene usato un default che è sempre il metodo display.
Anche se joomla visualizza "cose strane"a prima vista, fa quello che fa qualsiasi programma... segue una path ed esegue uno script.
Una nuova view vuol dire una nuova path da seguire.
Se cerchi in questa sezione trovi un articolo che riguarda JController che ti chiarifica le idee.

 



Web Design Bolzano Kreatif