Bonjour,
j'utiliser parfois de l'ajax dans mes modules, mais je voudrais en faire dans un de mes composants perso, la tâche se complique malgré tout ce que j'ai pu lire sur le web depuis un moment.
dans la doc ICI, ils disent : 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.
L'expression 'il n'est pas nécessaire" ne veut pas dire qu'il n'est pas possible, à moins d'un problème de traduction, je cherche donc à adapter le code que j'ai l'habitude d'utiliser pour qu'il soit utilisable dans un composant.
Voici mon code dans un module :
Bien sur le traitement PHP se fait dans le fichier helper.php du module dans la fonction :
comment puis-je adapter ce code pour garder à peut prêt la même configuration dans un composant ? est-ce possible ?
car j'ai essayé toutes les solutions que j'ai trouvé qui impliquent de créer des controllers ou des vues, et je n'ai pas réussi
Help plz, merci beaucoup
j'utiliser parfois de l'ajax dans mes modules, mais je voudrais en faire dans un de mes composants perso, la tâche se complique malgré tout ce que j'ai pu lire sur le web depuis un moment.
dans la doc ICI, ils disent : 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.
L'expression 'il n'est pas nécessaire" ne veut pas dire qu'il n'est pas possible, à moins d'un problème de traduction, je cherche donc à adapter le code que j'ai l'habitude d'utiliser pour qu'il soit utilisable dans un composant.
Voici mon code dans un module :
Code:
jQuery(document).ready(function($){ $(document).on('click', '.mon_declencheur', function () { var data = {}; data['mon_declencheur'] = this.value; request = { 'option' : 'com_ajax', 'module' : 'mon_module', 'data' : data, 'format' : 'raw' }; $.ajax({ type : 'GET', data : request, success: function(result) { var tab = JSON.parse(result); // mes actions } }); return false; }); });
Code PHP:
static function getAjax() {
$input = JFactory::getApplication()->input;
$data = (array)$input->get('data', array(), 'array');
// mes actions PHP qui donnent le $result
return json_encode($result);
}
car j'ai essayé toutes les solutions que j'ai trouvé qui impliquent de créer des controllers ou des vues, et je n'ai pas réussi
Help plz, merci beaucoup
Commentaire