Joomla.it Forum
Non solo Joomla... => Sviluppo => : Seven7 05 Jan 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! :)
-
puoi cominciare da qui http://wiki.joomla.it/index.php?title=Categoria:Manuali (http://wiki.joomla.it/index.php?title=Categoria:Manuali)
-
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.
-
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!! :) :)
-
si, proprio cosi.
-
grazie!
-
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
-
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! :)
-
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;
}
-
molti metodi del framework non li conosco
se ti serve sviluppare velocemente dai un'occhiata al mio sito...
ciao,
marco
-
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'??
-
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