Un blog sur les logiciels libres

Des articles basés essentiellement sur VirtueMart, Joomla, Talend...

Pro Joomla Templates Club

avril 09 2009

Joomla et AJAX : créer une page minimaliste

Tagged Under : , , , , , ,

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

<?php
defined( '_VALID_MOS' )
or die( 'Direct Access to this location is not allowed.' );
mosMainBody();
?>

Version Joomla 1.5

<?php
defined( '_JEXEC' )
or die( 'Restricted access' );
<jdoc:include type="component" />
?>

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.

Artisteer - Joomla Theme Generator