Voici les types de vues qui sont gérées par le framework de Joomla depuis la 2.5 :
- html (implicite) : type mime "text/html" précisant un format html
- feed : xml pour flux rss
- raw : mime "text/html" sans informations additionnelle
- xml : mime "application/xml"
- json : mime "application/json"
- image : mime "image/png"
- opensearch : mime application/opensearchdescription+xml"
- error : mime "text/html" avec les information d'arreur du contexte
Le type est indiqué dans la variable d'url "format"
Et chaque url de la forme http://..../index.php?option=com_nom...ant&format=raw chargera la vue view.raw.php, idem pour json qui charge le fichier view.json.php (voir chemin ci-dessus en #4)
Il faut bien sûr que la vue du type format demandé existe bien sinon l'internaute aura une 404.
Implicitement si format n'est pas donné c'est view.html.php qui est chargé (c'est défini dans le contrôleur général il me semble, si le type de format implicite n'est pas changé dans le constructeur de la classe dérivée du contrôleur).
Pour les type de vue autre que html, on peut même faire l'affichage directement dans le view.xxx.php sans passer par un ou des fichiers de template de vue (sous dossier /tmpl du dossier de la vue), car cela ne présente qu'assez peu d’intérêt de pouvoir overrider un affichage raw ou json.
Ainsi par exemple, le type de vue json est souvent utilisé pour répondre à des requêtes Ajax.
Pour trouver des exemples il suffit de faire une recherche sur le nom de fichier view.raw.php dans l'arborescence d'un site Joomla (kunena en utilise par exemple), sinon sur view.json.php