Search code examples
ajaxjoomlacallhelper

Joomla how to make an ajax call to an helper.php module


I create a module, not a component, a module because it should appears a number of times, on a number of pages in various positions I follow basic module creation

In default.php I would like to make a ajax call to helper to refresh data, something like that :

$.ajax({ url: '/index.php?option=mod_doodlike&format=raw&tmpl=component, 

all other parameters are in post

Is it possible ? what is the exact URL ? what should I put in helper.php (public function , class myclass extends JController) or in mod_module.php : jimport('joomla.application.component.controller');

or definitely it's a component I need to create ?


Solution

  • so after some ggsearch, I succeeded thanks to this post

    you have to call itself, best way to do is to use (in default.php):

     'url: "<?php echo JURI::getInstance() ?>",'
    

    Then is mod_yourmodule.php intercept get or post "query" with JRequest::getVar because "$_POST['xxx']" does not work

     '$task = JRequest::getVar('task'); '
     'if($task == ....... '
     'and call the helper modyourmoduleHelper::youfuncion'
    

    In helper, as you don't need all layouts I sent an echo of funcion returned value between “<”reply“>” tags and stoped joomla with jexit()

    The reply will be the default.php + the echo easily parsed with :

     'var re = /<reply>(.*)<\/reply>/;'
     'var result = re.exec(T_output);       '       
     'if(result[1] != ''){ Displayfunction($.parseJSON(result[1]));}'
    

    ... finished