| La struttura dell'URI |
|
|
|
| Joomla 1.5 |
| Lunedì 02 Novembre 2009 14:00 |
|
Consideriamo l'URI: http://miosito.it:8080/root/index.php?option=com_content#item4 e vediamo le parti di cui è composto. http:// -> rappresenta lo schema miosito.it:8080 -> è l'autority /root/index.php -> è la path option=com_content -> è la query item4 -> si chiama fragment Se consideriamo che il menu è lo strumento principale che un utente usa per la navigazione, esso conterrà una serie di items linkati a componenti interni o ad URI esterni. Un id unico distingue i diversi item menu, permettendoci di chiamare un componente senza inviare la query option e di riconoscere ed evidenziare la voce di menù che ha effettuato la chiamata, come attiva: http://www.miosito.it/root/index.php?Itemid=4 Inoltre se un componente chiamato supporta differenti formati di output possiamo specificare questo parametro nella stringa query in questo modo http://www.miosito.it/root/index.php?option=com_content&format=feed dove feed è il formato che vogliamo in output. Un'altro parametro importante che spesso troviamo nella query è task. Task indica a ciò che chiamiamo qual'è la performance che ci aspettiamo, esempio la visualizzazione sarà &task=view. Quando creiamo i nostri URI personalizzati dobbiamo essere sicuri che non vadano in conflitto con qualche query del core, causando risultati inattesi. Questo è un'elenco dei valori query del core: format - Itemid - layout - limit - limitstart - no_html - option - start - task - tmpl - tp - vars - view - hidemainmenu (solo backend) Quando chiediamo l'output di un URI dobbiamo usare il metodo statico JRoute. Così facendo non dobbiamo preoccuparci di tenere traccia del menu item ID. Ecco un'esempio di uso di questo metodo: Se stiamo ussando questo metodo all'interno di un componente e sono link al componente stesso, possiamo non specificare l'option. Non si codificano gli ampersand come per l'xhtml standard poichè ci pensa JRoute a farlo per noi. Un'altro vantaggio nell'uso del metodo JRoute::_() è che se stiamo usando un SEO, questo metodo converte automaticamente gli indirizzi in indirizzi SEO. |