...du verbe Drupaler (1er groupe)

Appeler du contenu en AJAX (une views par ex.) en cliquant sur un lien (D7)

22. Décembre 2011 - 17:45 -- Wilfrid

Autre intérêt du système de générateur de code de lien AJAX : après la création d'un lien on / off permettant par ex d'avoir une action ajax (type flag), allons donc un poil plus loin... pour appeler en ajax du contenu avec un simple clic.

Petit tutoriel simplissible avec la petite vidéo de résultat. Petit oubli : si l'on reclique sur le lien, la vue s'efface bien ! Par contre il faut bien avouer que ce n'est pas encore compatible avec Views Bulk Operations (VBO) car un formulaire appelé en ajax doit être lui-même ajaxifié.

1/  Générez votre petit module (le .info, puis le .module), que vous mettez dans les fichiers mon_module.info et mon_module.module, tout cela dans un répertoire mon_module (le nom est à chosir) et mettez-le dans sites/all/modules

2/  Installez-le : en appellant la fonction mon_module_render_link() vous disposez d'un petit lien à basculement javascript on / off où vous souhaitez.

3/ Ligne 57 du module, changez le message et mettez $message = views_embed_view('nom_machine_de_ma_vue'); (visible si dans la vue d'administration des vues vous passez votre souris sur le lien d'édition).

Appelez le lien où vous voulez : quand vous cliquez, votre vue apparaît au grand complet (testé avec une vue contenant des filtres en AJAX : fonctionne très bien !).

Il y a sans doute un peu de travail supplémentaire pour rendre cela compatible même avec le javascript désactivé... Cf. à la toute fin du module pour gérer ce cas. Il est aussi possible de commencer à passer des arguments, etc..

3.63793
Average: 3.6 (58 votes)
Votre vote: Aucun(e)

Ajouter un commentaire

Texte simple

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Image CAPTCHA