Autore Topic: Uso corretto dell'helper  (Letto 1384 volte)

Offline mpigio

  • Appassionato
  • ***
  • Post: 235
  • Sesso: Maschio
    • Mostra profilo
Uso corretto dell'helper
« il: 10 Giu 2010, 16:24:57 »
Se volessi mostrare in una view un elenco di valori provenienti da un altro modello MVC si deve passare per forza per un helper? Qual'è la soluzione migliore x la logica MVC?

Mi spiego meglio, supponiamo di avere una lista di cantautori e una lista di brani e volessi assegnare ad ogni brano il proprio autore, nella view del brano avrei bisogno di una select per mostrare tutti i cantautori. Come carico questi valori? Da un metodo di un helper o dal model dei cantautori? O che altro?

Grazie!

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
Re:Uso corretto dell'helper
« Risposta #1 il: 10 Giu 2010, 16:34:20 »
mi sa ora scrivo na fesseria..

se ti connetti ad un altro database mysql  e un database mysql è sempre un database mysql 
quindi una volta che hai l'accesso lo tratti come se fosse un database mysql di un altro sito con joomla

l'ho detta?
 :)
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline mpigio

  • Appassionato
  • ***
  • Post: 235
  • Sesso: Maschio
    • Mostra profilo
Re:Uso corretto dell'helper
« Risposta #2 il: 10 Giu 2010, 17:22:04 »
Non mi sono spiegato bene, sono su un unico DB MySql, ed ho 2 tabelle gestite da un mio componente e vorrei mostrare i dati della tabella 1 quando son in una view della tabella 2

Grazie!

mau_develop

  • Visitatore
Re:Uso corretto dell'helper
« Risposta #3 il: 10 Giu 2010, 18:12:40 »
secondo me puoi farla nell'helper,... ma scusa non facevi prima a farlo che chiederlo?

...o se l'hai fatto ... funziona?

M.

Offline mpigio

  • Appassionato
  • ***
  • Post: 235
  • Sesso: Maschio
    • Mostra profilo
Re:Uso corretto dell'helper
« Risposta #4 il: 10 Giu 2010, 18:48:58 »
Ma scusa questa non è una comunità in cui ci si aiuta?

L'ho già fatto e funziona, quello che chiedevo era se la strada che ho seguito è corretta x il modello MVC.

Se ho peccato di eccesso di precisione scusate per il tempo che vi ho fatto perdere.

mau_develop

  • Visitatore
Re:Uso corretto dell'helper
« Risposta #5 il: 10 Giu 2010, 19:32:40 »
sorry , non avevo capito che volevi approvazione... sì, diciamo che se non ci sono stranezze è la strada che avrei scelto anch'io.

M.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Uso corretto dell'helper
« Risposta #6 il: 11 Giu 2010, 07:14:13 »
ciao,
dipende da che hai fatto, ma detto così sembra la strada sbagliata. l'helper è destinato a contenere classi di uso comune all'estensione, non strutture di dati. il luogo giusto per quest'ultimo è il model.

pertanto il nome dell'autore associato al brano lo recuperi nel model dei brani con una JOIN tra le due tabelle; se serve nella view l'elenco degli autori, per ad esempio una ricerca, istanzi, nella view o nel controller, il model degli autori e richiami l'opportuno metodo (se questo passaggio è ad uso ripetuto allora puoi metterlo nell'helper, ma sempre istanziando il model).

ciao,
marco

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

mau_develop

  • Visitatore
Re:Uso corretto dell'helper
« Risposta #7 il: 11 Giu 2010, 08:53:27 »
ummhh, ..scusa Marco ma nn ho capito... (o te o lui :) )

.. perchè mi parli di strutture dati? in fondo potrebbe semplicemente contenere i metodi comuni, quindi i due metodi per recuperare gli array restituiti dalle query che verrebbero usati nei 2 model lasciando al controller solo la chiamata al modulo desiderato.

Ero tentato anch'io di suggerirgli la join, vista la semplicità del problema, avevo paura che poi lo usasse come "modalità" anche per altre query un po' più onerose.

Cmq nn è ne una polemica e nemmeno sostengo tesi :), a volte pecco un po' nella logica, non faccio fatica ad ammetterlo, quindi mi piacerebbe capire

M.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Uso corretto dell'helper
« Risposta #8 il: 11 Giu 2010, 09:38:10 »
ciao maurizio,
la risposta era abbastanza generica perché non era chiarissima, almeno per me, né la domanda né la spiegazione di come era stato fatto quanto descritto.

ora è pacifico che i dati (e la loro struttura in un MVC) stanno nel model, ma non si deve assumere l'uguaglianza model=table (tipicamente è model=DBView) pertanto la procedura corretta per recuperate brano ed autore e la JOIN tra le due tabelle.

la procedura corretta per recuperare la lista degli autori è istanziare il model relativo e richiamare il metodo opportuno (getData() nelle convenzioni Joomla!).
ove mettere questa operazione è altro discorso. se viene  usata solo una volta è inutile, e, imho tecnicamente scorretto,  aggiungere l'overhead della definizione/caricamento/istanziazione di una nuova classe nell'helper. forse meglio inserirla direttamente nel model dei brani. discorso opposto se viene richiamata da più parti del codice che non sono tra loro in relazione.

comunque citando la copertina del manuale perl "There's More Than One Way To Do It"  ;D ;D

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 

Host

Torna su