Dans le cadre de développement AJAX, (voire AJAJ, ou AJAH puisque dans la pratique, je pense que le HTML et le JSON sont plus utilisés que le XML), il est nécessaire de pouvoir afficher une page Joomla minimaliste, c’est à dire une page Joomla qui ne contiendra exclusivement le texte écrit par le composant. En outre, le template du site ne devra pas être affiché.
Pour cela, il existe trois techniques principales :
Template vide
On crée un gabarit qui ne contient rien d’autre que les données affichées par le composant Joomla.
Version Joomla 1.0
Version Joomla 1.5
On crée ensuite une entrée de menu dans un menu qui n’est pas affiché. On récupère l’identifiant numérique de cette entrée de menu (Itemid). On suppose que l’Itemid vaut 32.
A cette entrée de menu, on affecte le template vite récemment crée.
Maintenant, pour avoir un affichage minimal, il suffit de spécifier l’Itemid nouvellement créé dans la querystring (la querystring sera donc semblable à : index.php?option=com_virtuemart&page=shop.XXXXX&Itemid=32).
Index2 avec no_html
Sur le front-office, il suffit d’appeler index2.php à la place d’index.php et de rajouter no_html=1 dans la querystring (exemple : index2.php?option=com_virtuemart&page=shop.XXXXX&no_html=1).
Sur le back-office, c’est la page index3.php qui doit être appelée à la place de la page index2.php.
Page de chargement de joomla minimaliste
Cette méthode consiste à recréer un fichier PHP, qui ne soit pas chargé par Joomla, afin de gagner en performance. Pour cela, il faut faire de l’ingénieurie inverse, et s’y prendre en plusieurs fois pour déterminer quels sont les fichiers à inclure et dans quel ordre, quel groupe de mambots/plugins doit être chargé, quelles sont les variables globales qui doivent être déclarées et comment.. En bref, cela devient à mes yeux vite chronophage, et n’est pas toujours justifié. Je ne vais donc pas détailler davantage cette technique dans ce billet.

