Back to top

Autore Topic: Semplice componente joomla  (Letto 4413 volte)

Offline Seven7

  • Esploratore
  • **
  • Post: 51
  • Sesso: Maschio
    • Mostra profilo
Semplice componente joomla
« il: 05 Gen 2011, 18:17:57 »
Ciao a tutti,vorrei creare un semplice componente in joomla per l'inserimento di campi nel database:

Ho un form con due campi di testo ed un bottone submit...
voglio che questi campi poi siano inseriti nel database,sono in difficolta' nel capire come usare i metodi per l'inserimento dei dati...
c'e' qualche esempio online??
opppure qualche dritta per capire l'approccio??

grazie per l'aiuto! :)

Offline stefano.fenati

  • Appassionato
  • ***
  • Post: 263
  • Sesso: Maschio
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #1 il: 05 Gen 2011, 18:32:52 »
da qualche parte un giorno, dove non si saprà, dove non l'aspettate, il "Che" ritornerà. (F.Guccini)

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #2 il: 05 Gen 2011, 18:37:18 »
Ciao
Inutile perdere tempo nel cercare di capire come fare se prima non appuri che il componente in tuo possesso faccia quello che ti serve (salvare i dati immessi nel database), in alternativa scegline uno che lo fà, come chronoforms.

Offline Seven7

  • Esploratore
  • **
  • Post: 51
  • Sesso: Maschio
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #3 il: 05 Gen 2011, 18:54:36 »
Ti ringrazio,io pero' volevo solo capire come accedere al database

se voglio fare una semplice query ,in un certo file andrebbe scritto cosi?

$db    =& JFactory::getDBO();

$query = 'SELECT email FROM #__users';

$db->setQuery( $query );

grazie!! :) :)


Offline stefano.fenati

  • Appassionato
  • ***
  • Post: 263
  • Sesso: Maschio
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #4 il: 06 Gen 2011, 15:49:55 »
si, proprio cosi.
da qualche parte un giorno, dove non si saprà, dove non l'aspettate, il "Che" ritornerà. (F.Guccini)

Offline Seven7

  • Esploratore
  • **
  • Post: 51
  • Sesso: Maschio
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #5 il: 19 Gen 2011, 19:10:53 »
grazie!

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #6 il: 19 Gen 2011, 21:55:05 »
piccola nota...
 setQuery() imposta la query, ma non esegue alcuna azione. devi usare poi il metodo query() od uno dei metodi di parsing del recorset restituito (vedi docs.joomla.org/JDatabase).

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

Offline Seven7

  • Esploratore
  • **
  • Post: 51
  • Sesso: Maschio
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #7 il: 22 Gen 2011, 14:19:20 »
Allora, considerato il fatto che sto agli inizi nel sviluppare un componente in MVC e molti metodi del framework non li conosco,ipotizziamo una cosa:

nel mio componente al percorso :

admin/models/miocomponente.php

ho una classe:

class ComponenteModelComponente extends JModel {

  //ho un metodo per l'inserimento dei dati nel database e una tabella gia' esistente
//e vorrei inserire per esempio il nome e il cognome di un'utente,quale classe del framework devo richiamare nel metodo??
  function insertDb()
   {
   //
  }
}

grazie! :)

Offline stefano.fenati

  • Appassionato
  • ***
  • Post: 263
  • Sesso: Maschio
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #8 il: 23 Gen 2011, 01:20:29 »
il metodo da usare è store
esempio:
   function store($data)
   {
      $row =& $this->getTable('miaTabella');
      if (!$row->bind($data)) {
         return false;
      }
      if (!$row->check()) {
         return false;
      }
      if (!$row->store()) {
         return false;
      }
      return true;
   }
da qualche parte un giorno, dove non si saprà, dove non l'aspettate, il "Che" ritornerà. (F.Guccini)

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #9 il: 23 Gen 2011, 20:26:41 »
molti metodi del framework non li conosco

se ti serve sviluppare velocemente dai un'occhiata al mio sito...

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

Offline Seven7

  • Esploratore
  • **
  • Post: 51
  • Sesso: Maschio
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #10 il: 23 Gen 2011, 21:20:26 »
Si grazie Stefano, in effetti quel metodo l'ho letto nella documentazione,il fatto mi manca ancora da capire il funzionamento dei metodi $row->bind(),$row->check() e $row->store()....

ma $data che passo al metodo che valore ha?

forse saranno banali le mie domande.... ma la struttura del framework di joomla e' si intressante,ma un po' complicata.
Conosco bene la OOP  in Php vorrei capire anche il funzionamento in joomla...

cmq grazie per gli aiuti!!

Ciao Marco,ma il link al tuo sito dove'??

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Semplice componente joomla
« Risposta #11 il: 24 Gen 2011, 09:14:46 »
bind() associa i dati contentuti nell'array associativo $data (tipicamente getVar('post') ) ad una tabella, check() verifica che i dati vadano bene (il metodo lo devi scrivere tu, di fatto è un abstract anche se dichiarato come public causa compatibilità php4), store() li salva. che sia fatto un update piuttosto che un save dipende dalla valorizzazione della primary key indicata nella table (classe derivata da JTable che devi scrivere).

se conosci l'oop (pattern desing) joomla non dovrebbe risultarti troppo strano... superato il primo shock  ;D

il sito: il mappamondino sulla sinistra!  ;)

ciao,
marco

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

 



Web Design Bolzano Kreatif