Add FullAjax library to Joomla!

This plugin add FullAjax library in to Joomla!
It work only on frontend.
Install template fullajax_tmpl only if you want use advanced configuration for update module. It is NOT important.

Base
If you have a template that wrote using the Joomla standarts, all should start work automaticaly, so when all will be installed you can go to the main page and make sure that the plugin works, and your site now with FullAJAX ;)
Positions update methods
For update the modules for each page.

There are next methods available:

  • No
  • "automatically" (default)
  • "semi-automatically"
  • "manually, using 'fullajax_tmpl'"

Before continue: Remamber if the module looks the same on every page you do not need to update it.

Method "No"

This method will update only the content. And useful if you no need the position updates.

It required some configuration:
First you need add id="content" in you template where is the component and message shown.

Example:

<div id="content">
  <jdoc:include type="message" />
  <jdoc:include type="component" />
</div>
If id already exist then enter this id in the plugin configuration in the field 'Content CSS id'.

Method "Automatically"

Plugin will try generate the configuration for FullAJAX automaticaly.
Plugin will try add the id (on fly) for a each position that selected for update.
By default this method will update the content only.
For update the positions you need select only the position that you want to update via AJAX.

Be warned: This method can work wrong with the template framework.

Be warned: If the position(s) that you want update in you template have construction like:

<?php if ($this->countModules('position-name')): ?>
<jdoc:include type="modules" name="position-name" />
<?php endif; ?>
you need remove if() statement, because plugin cannot work with this thing, so the previous example code need change to:
<jdoc:include type="modules" name="position-name" />

Method "Semi-automatically"

Plugin will generate the configuration for FullAJAX depend from the data entered here.

Be warned: This method will be removed in future.

For configure this method do next:
  • 1. Go to edit you a template file index.php.
    You need add id='content' in you template where is component and message.

    Example:

    <div id="content">
    <jdoc:include type="message" />
    <jdoc:include type="component" />
    </div>

    If id already exist then enter this id name in plugin configuration in the field 'Content CSS id'.
    Then need to add ID for each position what you plan to update.
    Example for breadcrumbs and user3:
    <div id="pathway">
    <jdoc:include type="modules" name="breadcrumbs" />
    </div>
    <div id="myCoolModule">
    <jdoc:include type="modules" name="user3" />
    </div>
  • 2. Go to plugin configuration. There need enter position parameters in field "Position parameters".
    Like next: position:id|position2:id2.
    Example for breadcrumbs and user3:
    breadcrumbs:pathway|user3:myCoolModule
  • 3. Now set item Enable Positions update as semi-automatically. After save all should work.

Method "using fullajax_tmpl"

This method for advanced configuration.
You can find more about it on the site How to update more than one module with Ajax.


If the module looks the same on every page you do not need to update it.
Also
About animation
For change the image you need to edit the code in 'Js code for animation' field.
Gif Image:
var fullAjaxGif = jQuery('<img/>',{
'id':'fullAjaxGif',
'src':'/media/plg_system_addfullajax/images/ajax-loader.gif', // it pathway to image
 'alt':'Loading...',
'style': 'position:absolute;left:50%;top:40%;z-index:800;'
});
For pathway you can use something like 'http://mysite.com/loading.gif' or '/loading.gif'.

If you want you can make other animation effect. You need edit 'Js code for animation' field for that.

Example:

FLAX.Effect.add({id: 'You-Content-ID',
start:function(id, request){
// Do here animation after click before request
request(); // execute this when animation ends
},
end:function(){
// Do here animation after request
}
});
Support it
If you like this plugin and you will want to say thank or if you have some offers or ideas please just write email getthesite@gmail.com.
Cheers,
Fedir
getthesite@gmail.com