Il percorso alla cartella dove si è installato Joomla! è memorizzato in una costante definita nel framework
JPATH_SITE
Questa costante contiene sempre un percorso sul server. Se si esegue l'istruzione
echo JPATH_SITE;
si otterrà qualcosa del tipo
/home/nome_account/public_html
Questo però è soltanto un esempio. Se provate la echo sul vostro sito il risultato sarà con ogni probabilità differente. Se il vostro sito si trova su un servizio di hosting il percorso dipende da come il vostro provider organizza gli account degli utenti sul proprio server.
Ma tutti questi dettagli sono in gran parte irrilevanti. Utlizzate la costante ogni qualvolta nel codice dovete costruire un percorso relativo alla cartella dove è installato Joomla! e non sbaglierete mai.
Quando si sviluppa un componente, si ha spesso la necessità di costruire un percorso realtivo alla cartella dove il componente è stato installato. Visto quanto detto finora potremmo scrivere
$mycom_folder = JPATH_SITE . DS . 'components' . DS . 'com_nomecomponente';
DS è un'altra costante (directory separator) che serve a costruire percorsi indipendenti dal sistema operativo sotto il quale viene eseguito Joomla! DS viene inizializzata automaticamente con / in ambiente Unix/Linux e con \ in ambiente MS Windows.
Nel caso che stiamo esaminando abbiamo a disposizione un'utile scorciatoia
JPATH_COMPONENT_SITE
Quando è utilizzata all'interno di un file che fa parte di un componente, questa costante contiene il percorso alla cartella di frontend di quel particolare componente.
Esiste anche
JPATH_COMPONENT_ADMINISTRATOR
Come a questo punto è facile indovinare, possiamo utilizzare questa costante in un file che è parte di un componente per ottenere il percorso alla cartella di backend di quel componente. In altre parola la costante è equivalente a
JPATH_SITE . DS . 'administrator' . DS . 'components' . DS . 'com_nomecomponente'
Un'altra costante è
JPATH_COMPONENT
che equivale a JPATH_COMPONENT_SITE o a JPATH_COMPONENT_ADMINISTRATOR a seconda che venga richiamata in un file che fa parte del frontend o del backend di un componente.






