Skip to main content

Sviluppo estensioni con Joomla – Capitolo 4

Continuiamo ad approfondire il libro “Learning Joomla 1.5 Extension Development“, di Joseph Le Blanc, introducendo le viste da front-end, la gestione degli indirizzi SEF e l’oggetto JUser.

Viste da front-end

Abbiamo introdotto nella puntata precedente il concetto di controllore, vista e modello. Nel quarto capitolo del libro vengono utilizzati questi concetti per creare un elenco di elementi (nell’esempio, recensioni di ristoranti) e un dettaglio di un elemento. Nulla di nuovo rispetto a quanto già visto nel capitolo precedente, ma viene applicato in questo caso al front-end.

Indirizzi SEF

Interessante invece la parte dedicata alla creazione e interpretazione degli indirizzi in modalità SEF-friendly; ovvero, come rendere la nostra estensione compatibile con le opzioni di rewrite native di Joomla. Questo si ottiene tramite due funzioni complementari, BuildRoute e ParseRoute. N.B. il nome completo delle funzioni sarà comprensivo del nome del componente, quindi nell’esempio del libro:

  • RestaurantsBuildRoute
  • RestaurantsParseRoute

Come i nomi suggeriscono, una delle due funzioni crea i “segmenti” che verranno usati nell’indirizzo SEF, partendo dall’indirizzo standard di Joomla; l’altra invece effettua l’operazione contraria, ovvero interpreta l’indirizzo SEF riconvertendolo in uno standard. In pratica la prima si occupa di convertire

index.php?option=com_restaurants&id=1&view=single&Itemid=2

in

/restaurants/reviews/view/1

e la seconda di effettuare l’operazione inversa. Le modalità esatte di conversione sono definite nelle funzioni suddette, quindi per ciascun segmento possiamo decidere se mostrare un id numerico, piuttosto che un nome o un altro parametro del nostro elemento, o addirittura una combinazione di dati.

Entrambe le funzioni devono essere contenute in un file router.php nella cartella principale di front-end del componente.

L’unica avvertenza è che, per far sì che queste due funzioni siano chiamate, tutti i link interni (ad esempio quelli per generare il passaggio dall’elenco al dettaglio prodotto) siano costruiti tramite la funzione JRoute.

Commenti utente

Nel resto del capitolo, viene mostrata la possibilità di aggiungere un commento da parte degli utenti, introducendo l’accesso alle proprietà dell’utente attualmente collegato tramite il metodo JFactory::getUser(). Questo è un esempio degli oggetti già disponibili in Joomla che ci consentono di avere accesso a molte proprietà e funzioni senza doverli riscrivere, quindi semplificando il nostro componente.