Sviluppo estensioni con Joomla – Capitolo 5
Continuiamo la nostra panoramica del libro “Learning Joomla 1.5 Extension Development“, di Joseph Le Blanc, introducendo varie funzionalità avanzate disponibili nella classe JTable, i metodi per accedere alle informazioni sull’utente, la generazione di elementi HTML e altro ancora.
Il capitolo 5, tra tutti, è quello che risulta più “vario”: vediamo di dare un breve assaggio di tutte le cose che vengono affrontate.
JTable
Sovrascrivere i metodi di JTable
E’ possibile sovrascrivere i metodi della classe JTable, ad esempio introducendo controlli aggiuntivi ( check() )o la definizione di valori di default ( bind() ). I metodi personalizzati vanno inseriti nel relativo file della sottocartella tables del nostro componente.
Ordinamento dei record
L’utilizzo di un campo ordering nella nostra tabella ci permette di definire un ordinamento personalizzato. Si tratta di un campo speciale che ci consente di avere disponibili le funzioni visive di riordinamento nella pagina di gestione dei nostri dati.
Traccia delle visite
L’utilizzo di un campo hits nella nostra tabella ci consente poi di usare la funzione hit() (sempre facente parte della classe JTable) per tracciare la visualizzazione di un determinato record, e avere così anche una statistica sul traffico dei nostri contenuti.
Check out
La funzione di checkout è quella che permette di “bloccare” un record per evitare la modifica contemporanea da parte di più utenti. E’ necessario che nella nostra tabella siano presenti le colonne checked_out e checked_out_time.
Informazioni utente
Il metodo getUser della classe JFactory ci restituisce un oggetto le cui proprietà corrispondono a quelle dell’utente attualmente collegato. Possiamo quindi avere accesso a nome completo, nome utente, e-mail, e così via.
JHTML
Numerosi elementi HTML, soprattutto quelli necessari in caso di form (select, radio buttons) possono essere generati comodamente tramite gli appositi metodi della classe JHTML. E’ possibile ovviamente specificare valori multipli e opzioni di default.
La classe JHTML offre inoltre la possibilità di eseguire dei content plugin, per modificare “al volo” i nostri contenuti.
JPagination
La classe JPagination ci perrmette di gestire la paginazione e l’ordinamento delle nostre liste.