Joomla.it Forum

Non solo Joomla... => Database => : Seven7 03 Jan 2011, 18:40:54

: estendere la classe database in joomla
: Seven7 03 Jan 2011, 18:40:54
Ciao  a tutti,come ho detto nei precedenti post,sono un neofita di joomla.
Ho creato un file Contatti.php pe la gestione della pagina contatti validazione form,inserimento dei dati nel database e poi invio della email.
In questo file Contatti.php ho una classe Contatti che estende un'altra che si chiama "Checkcampi" per la gestione degli errori ed il controllo dei campi;ora ho la necessita' di accedere ai metodi per la connessione,inserimento,etc dei dati al database,in sostanza vorrei sapere come estendere la classe database tramite la classe Checkcampi e quali parametri passare al suo costruttore...

Spero di aver spiegato chiaramente,grazie a tutti! :)
: Re:estendere la classe database in joomla
: mau_develop 03 Jan 2011, 20:23:59
class MyPippo extends JTable{

M.
: Re:estendere la classe database in joomla
: Seven7 03 Jan 2011, 20:45:56
Si lo so come estendere le classi,quindi la mia classe "class Miaclasse" la faccio derivare dalla classe database??
Oppure JTable?? che non so a quale percorso trovarla,forse sara' banale,sono pratico di programmazione ad oggetti ma vorrei capire solo come farlo  con joomla.
grazie!
: Re:estendere la classe database in joomla
: mau_develop 03 Jan 2011, 21:57:05
Si lo so come estendere le classi,quindi la mia classe "class Miaclasse" la faccio derivare dalla classe database??
Oppure JTable??
------------------------------------------------------
nn capisco, che vuol dire derivare?
volevi estendere JTable per implementare un check e fin quì ti seguo perchè è così che normalmente si fa.
Nel tuo mvc dell'extensions avrai una classe che estende JTable dove implementi tutto ciò che concerne le operazioni con le tabelle.
Altrimenti il check lo devi fare al momento della scrittura o lettura del db senza estendere nulla.

M.
: Re:estendere la classe database in joomla
: Seven7 04 Jan 2011, 17:52:17
Ciao grazie per la risposta,ma forse non ho spiegato bene quello che vorrei fare,segui questa descrizione forse riesco a spiegare meglio...

Ho una struttura del genere:

class Checkcampi
{
   public function __construct()
    {
    }
//di seguito alcuni metodi protected per il controllo e validazione dei dati provenienti dal form...
}

class Contatti extends Checkcampi
{
  public function __construct()
     {
           parent:.__construct()
     }

   //qui di seguito altri metodi e un metodo per l'inserimento dei dati nel database

      public function insertDb()
{
   //e qui scrivo l'sql per l'insermento dei dati nel database per esempio:
      $query="INSERT INTO tabella(nome,cognome)VALUES('$this->nome',$this->messaggio'')";
 // ora vorrei effettuare la query richiamando il metodo della classe per la query  al database (che non so quale sia) e quindi //vorrei che questa classe sia la superclasse della classe Checkcampi
}
}

spero di aver spiegato quello che vorrei ottenere...
grazie!!
: Re:estendere la classe database in joomla
: mau_develop 04 Jan 2011, 18:07:05
ma usi l'mvc?

hai una view un model un controller?

M.
: Re:estendere la classe database in joomla
: Seven7 04 Jan 2011, 18:19:03
no non sto usando l' mvc semplicemente invio il form alla pagina Contatti.php
: Re:estendere la classe database in joomla
: mau_develop 04 Jan 2011, 18:24:32
no, allora non saprei aiutarti... mi spiace

M.
: Re:estendere la classe database in joomla
: tomtomeight 04 Jan 2011, 18:28:27
Ciao
Una cosa volevo chiederti ma questa pagina contatti.php la fai a scopo didattico oppure ti è utile per qualcosa che devi inserire nel sito? perchè in tal caso se spieghi meglio l'esigenza forse esiste qualcosa di già pronto oppure solo da modificare.
: Re:estendere la classe database in joomla
: Seven7 04 Jan 2011, 18:49:04
E' un file creato da zero da me per il controllo dei dati inseriti nel form,poi per secondo inserire i  dati in una tabella del database ed infine inviare l'email.
Si mi sta bene anche qualcosa pronto,ma la mia intenzione è capire come accedere alla classe database da un determinato file o classe,nel mio caso la classe Contatti nel file Contatti.php
grazie :)
: Re:estendere la classe database in joomla
: mau_develop 04 Jan 2011, 20:57:26
...guarda che se non usi l'mvc non puoi nemmeno accedere ai suoi metodi e classi, si chiama incapsulazione, quindi non puoi estendere nulla che appartenga a joomla

M.
: Re:estendere la classe database in joomla
: Seven7 04 Jan 2011, 21:14:34
Si hai ragione,mi son convinto a provare con l'mvc cercando di sviluppare un nuovo componente,qualche tutorial per la creazione e l'installazione di uno nuovo c'e??
grazie. :)
: Re:estendere la classe database in joomla
: mau_develop 04 Jan 2011, 21:46:42
pulsante guide in alto.
per iniziare a capire l'mvc ti conviene partire dai moduli, i componenti sono i più complessi anche perchè hanno una parte amministrativa.
se guardi in administrator/com_banners (ad esempio) trovi una cartella tables, se la apri ed esplori il codice dei files ti accorgi che fanno esattamante ciò che vuoi fare tu.

M.
: Re:estendere la classe database in joomla
: Seven7 04 Jan 2011, 21:56:53
Ti ringrazio,il problema è che ho la necessita' di gestire la pagina contatti  e non ho molto tempo a disposizione....
cmq grazie per l'aiuto! :)
: Re:estendere la classe database in joomla
: mau_develop 04 Jan 2011, 22:11:36
beh se hai fretta non puoi permetterti di imparare prima un intero framework per cui puoi vedere se trovi qualcosa di già fatto

http://extensions.joomla.org/extensions/contacts-and-feedback/contact-forms

M.