Skip to main content

Mastering Joomla 1.5 Extension and Framework development – 9

Nel nono capitolo del libro Mastering Joomla 1.5 Extension and Framework development vengono affrontati altri elementi che possono aiutarci a rendere più chiara e completa la navigazione del nostro componente.

Scopriamo i punti più interessanti.

Messaggi di sistema

Esiste una coda di messaggi che possiamo sfruttare per fornire messaggi informativi relativamente al nostro componente. Con il metodo:

$mainframe->enqueueMessage('Testo del messaggio');

possiamo infatti fare in modo che tale messaggio venga mostrato nell’apposito spazio della pagina (identificabile nel template dal codice:

<jdoc:include type="message" />

E’ possibile aggiungere anche un parametro che indica il tipo di messaggio; questo può aiutarci a creare poi un stile CSS personalizzato.

$mainframe->enqueueMessage('Testo del messaggio','debug');

Sono disponibili di default i tipi di messaggio notice e error, anche se solitamente vengono invocati diversamente tramite i metodi JError::raiseNotice() e JError::raiseWarning().

Redirect

Una funzione molto comoda è quella di redirect. Ogni qualvolta eseguiamo una operazione (inserimento, modifica o cancellazione di un record) è bene infatti ridirigere poi l’utente a una diversa pagina, per evitare che un refresh possa compiere nuovamente tale operazione.

Si può fare un redirect immediato tramite l’applicazione:

$mainframe->redirect( url );

oppure, meglio, tramite controller. Nella classe Controller del nostro componente inserire:

$this->setRedirect( url )

Parametri della vista e voce di menù

Normalmente, ciascuna vista del nostro componente viene mostrata come possibile opzione quando creiamo una nuova voce di menù.

E’ possibile nascondere la vista e/o definire dei parametri nella voce di menù semplicemente creando un file metadata.xml nella cartella della nostra vista.

Modifica del documento

Mentre viene preparato il documento HTML da restituire al browser, possiamo accedere all’oggetto tramite il comando:

$document = JFactory::getDocument();

A questo punto possiamo intervenire per effettuare diverse modifche:

  • impostare il titolo con $document->setTitle(‘titolo’)
  • aggiungere un file JavaScript con $document->addScript(‘percorso/del/file.js’)
  • aggiungere un file CSS con $document->addStyleSheet(‘percorso/del/file.css’)
  • aggiungere metadata o altri header HTML personalizzati