Appunti su Joomla

Programmazione - Joomla Visite: 6232
document.png

In questo articolo tratterò di alcune personalizzazioni che si possono fare sulla piattaforma Joomla.

Personalizzazioni sia rivolte agli utenti che agli sviluppatori.

Parlerò di:

  • Uso di mospagebreak

  • Come e dove personalizzare la prima pagina

  • Disabilitare register_globals e RG_EMULATION

  • Problemi con caretteri e codifica
  • Caricare un modulo in un articolo

 

NB: In grassetto e sottolineato ci sono gli argomenti aggiunti/aggiornati rispetto alla precedente versione.

Uso di mospagebreak

Inserire un mospagebreak in un articolo vuol dire inserire un'interruzione di pagina e creare automaticamente un indice dell'articolo.

L'interruzione di pagina si inserisce scrivendo:   { mospagebreak } nel punto desiderato dell'articolo (bisogna scriverlo senza spazi bianchi.

Una utile opzione di questo comando è { mospagebreak title=Mio titolo }  che permette di specificare un nome all'interruzione di pagina. Senza l'opzione title l'interruzione di pagina "sarà" un link nell'articolo con nome ad esempio "Pagina 1", con l'opzione title si chiamerà come vogliamo noi, nel mio esempio il link sarà "Mio titolo".

 

Come e dove personalizzare la prima pagina

Per personalizzare la prima pagina di un sito CMS-JOOMLA bisogna accedere al back-end.

Andare sul menu "Menu" e poi sulla voce "Gestione Menu".

In riferimento al record "mainmenu" cliccare sulla colonna "Voce di menu".

Verranno così mostrate tutte le voci collegate al menu "mainmenu" del sito.

Cliccare, ora, sulla voce "Home".

Si apre così la configurazione della "Prima  pagina del sito".

 

Disabilitare register_globals e RG_EMULATION

Per DISABILIARE il parametro register_globals, nel file htaccess bisogna aggiungere la linea

 

php_flag register_globals off

 

Questo metodo di solito funziona se il server usa Apache.


Per DISABILIARE, invece, il parametro rg_emulation:

nel file globals.php presente nella root directory di Joomla cambiare la riga
define( 'RG_EMULATION', 1 );
in
define( 'RG_EMULATION', 0 );

Dalla versione 1.0.13 di Joomla questo parametro lo si può settare anche nel back-end nella sezione di configurazione del server.

 

Analizziamo lo stesso problema ma su hosting ARUBA.

Innanzitutto Joomla su Aruba può essere installato solo su Hosting Linux e non su Hosting windows.

Aruba sull'hosting Windows blocca l'utilizzo di joomla.

Inoltre per disabilitare il parametro register_globals bisogna creare un file php.in con dentro la sola voce

register_globals = Off.

 

Ed il gioco è fatto. Però il file va caricato all’interno di tutte le cartelle che contengono codice che necessita di tale modifica, in quanto non si riperquote sulle cartelle sottostanti.

Infine c’è da sottolineare che questo meccanismo funziona perché, nei servizi hosting Linux di Aruba, l’interprete PHP, per ragioni di sicurezza e per consentire maggiori personalizzazioni da parte degli utenti, viene eseguito come script CGI.

 

Ma perché tale valore viene settato ad ON?

Per mantenere il massimo livello di compatibilità anche con script PHP ormai datati.

 

Problemi con caratteri e codifica

Un modo per risolvere questo problema è il seguente.

Si deve aggiungere la seguente configurazione:

AddDefaultCharset iso-8859-1

nel file .htaccess (presente nella cartella principale di Joomla). In questa maniera si forza il sistema ad utilizzare la codifica ISO-8859-1 e quindi ad evitare che i caratteri accentati vengano visualizzati in maniera scorretta.

A me succedeva che al posto del carattere accentato avevo un rombo con dentro un punto interrogativo.

NB: Nella cartella principale di Joomla c'è sempre il file htaccess.txt, è questo il file che deve essere modificato in .htaccess.

 

Caricare un modulo in un articolo

Si può? Certo che si può.

Ovvero, si può visualizzare nel bel mezzo di un articolo il contenuto di un modulo.

Basta inserire nell'articolo il codice "mosloadposition user4".

Ciò che io ho messo tra " va messo tra {}, e al posto di user4 ci va messo il codice della posizione nella quale si trova il modulo che si vuole far visualizzare.

Per Joomla 1.5.x si deve invece scrivere "loadposition user4".