Utiliser l'interface Ajax de Joomla!

From Joomla! Documentation

This page is a translated version of the page Using Joomla Ajax Interface and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎فارسی • ‎français • ‎Nederlands • ‎русский • ‎中文(台灣)‎
Joomla! 
≥ 3.2
séries

Qu'est-ce que l'interface Ajax de Joomla! (com_ajax) ?

C'est un composant léger et extensible qui agit comme un point d'entrée pour les requêtes HTTP pour les modules autonomes et les plug-ins, permettant ainsi de bénéficier du potentiel des fonctionnalités Ajax. Com_ajax est généralement utilisé lorsque vous n'êtes pas le développeur du composant en interaction avec le module ou plug-in utilisé.

NOTE : si vous êtes développeur de composants, il ne vous est pas nécessaire d'utiliser com_ajax afin d'y implémenter les fonctionnalités Ajax. Vous pouvez le faire directement dans votre composant.

Les exemples de cas d'utilisation incluent, (liste non exhaustive) :

  • un module qui récupère des données à partir d'une API externe,
  • un module qui interagit avec un composant que vous n'avez pas développé vous-même,
  • un plugin qui implémente l'API comme des fonctionnalités permettant l'utilisation de données à partir de votre site.

Anatomie d'une requête Ajax

Requis

  • option=com_ajax
  • [module|plugin]=name
  • format=[json|debug|raw]

Optionnel

  • method=[custom fragment] par défaut, get si omis.

Vue d'ensemble

Toutes les requêtes commencent par ?option=com_ajax, ce qui appelle cette extension, et doit indiquer le type de l'extension à appeler, ainsi que le format des données à retourner.

Les autres variables et valeurs utilisées par votre extension peuvent également être incluses dans l'URL.

Par exemple, la requête ?option=com_ajax&module=session va appeler mod_session avec les résultats retournés dans le format par défaut. En revanche,?option=com_ajax&plugin=session&format=json déclenchera le groupe de plug-in onAjaxSession avec les résultats retournés en JSON.

Module de support

Résumé

Le support de module est déclenché par l'appel d'une méthode dans le fichier helper.php du module.

Détails

La requête de module doit inclure la variable module dans l'URL, de paire avec le nom du module (ex : module=session pour mod_session).

Cette valeur est également utilisée pour :

  • Le nom du répertoire à vérifier pour le fichier helper, par exemple : /modules/mod_session/helper.php
  • Le nom de la classe à appeler, par exemple : modSessionHelper

En option, la variable method peut être intégrée pour remplacer le préfixe de la méthode par défaut get.

NOTE : toutes les méthodes doivent se terminer par Ajax. Par exemple :
method=mySuperAwesomeMethodToTrigger appellera mySuperAwesomeMethodToTriggerAjax

Le Module de Session Ajax est un module d'exemple qui illustre cette fonctionnalité.

Plug-in de réponse

Résumé

Le support de plug-in est réalisé par le déclenchement de l'événement de plug-in onAjax[Nom].

Détails

Les requêtes plug-in doivent inclure la variable plugin dans l'URL, de paire avec le nom de l'événement du plug-in, comme par exemple, plugin=session pour onAjaxSession.

Cette valeur est également utilisée pour :

  • Le nom de la classe de plug-in par convention plgAjax[Nom].
  • Le nom de la fonction de plug-in par convention onAjax[Nom].
  • Le groupe de plugin par défaut est ajax. Vous pouvez le modifier en utilisant le paramètre group. (Depuis Joomla! 3.4)

Le plug-in Ajax Latest Articles est un exemple de plug-in qui illustre cette fonctionnalité.

Format de réponse

format=[json|debug] est un argument optionnel pour le format des résultats :

  • json pour un format JSON
  • debug pour un rendu de sortie des résultats lisible par l'homme.