jquery

jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML. Used by over 60% of the 10,000 most visited websites, jQuery is the most popular JavaScript library in use today. read more at WikiPedia

  • In this series of post I will outline some common techniques to help Joomla extensions development.

    As you know Joomla is shipped with Mootools library which assign $ also to Ajax. Here is 2 tips that will allow you to use jQuery scripts without any modifications (most of the time you will find tips to assign jQuery to something else than $ and rewrite your scripts)

    First it is recommended to include always mootools first to avoid jQuery conflict issues

    JHTML::_('behavior.mootools');
    $document = JFactory::getDocument();
    $document->addScript(JURI::root() . "media/com_cedtag/js/jquery.1.7.2.min.js");

    then to run jQuery in noConflict mode. Note that here I do not assign jQuery to any alias.

    $document->addScriptDeclaration("jQuery.noConflict();");

    Till here, this is what you will find on all Joomla forums, posts over the internet. The last tips is what make the difference!

    Instead of using a different alias for the jQuery object (when using noConflict), you can write your jQuery code by wrapping it all in a closure. This can be done in the document.ready function

    $script = "jQuery(function($) { $();

    });"; $document->addScriptDeclaration($script);

    This way you are not force to rewrite your scripts to use another alias (replacing $ with jquery alias for example in all your scripts). This make inclusion of jQuery really easy!

    Happy Coding!

  • joomla_cms

    jocomment I did install yesterday evening the latest version of !JoomlaComment

    !JoomlaComment is one of the first extensions for Joomla,that let you comment under articles.

    The !JoomlaComment system can be installed on any joomla website within seconds! Make
    your website more interactive!

    Main Features:

    • ajax-based
    • captcha protection
    • akismet support
    • ubb code support
    • threathed/nested comments
    • multilanguage support
    • mail, website input
    • See more features here

    Joomla support templates, depending on which templates you use

    • MTdefault-emotop, these templates MTxxxx use mootols 1.11
    • JQdefaut-emotop, these templates JQxxxx use Jquery
    • ..

    You may behind the scene include another additional AJAX library in Joomla!® frontend, this lead to performance issues:

    If !JoomlaComment use JQuery 1.1.4 and not the AJAX library of Joomla!, aka Mootools 1.11. Another huge JavaScript files that make my server busier!

    Since any static files can be offloaded to another server to gain more speed. For example, any static images, JavaScript or CSS files can be moved to a different server for more speed.

    In order to be able to offload this JavaScript library to Google code, you’ll have to do the following:

    In the template you are using, for example in components/com_comment/joscomment/templates/JQdefault-emotop/index.html

    Search for

    {library}
    <script type="text/javascript" src="components/com_comment/joscomment/jscripts/jquery-1.1.4.pack.js"></script>
    <script>jQuery.noConflict();</script>
    {/library}

    and replace with

    {library}
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    <script>jQuery.noConflict();</script>
    {/library}

    Note that I use here the latest JQuery version (1.3.2) and not the default version of !joomlaComment (1.1.4), here is why

    • This version 1.1.4 is not available at jquery">http://code.google.com/apis/ajaxlibs/documentation/jquery :-)
    • I did test the frontend of !JoomlaComment 4.0 with JQuery 1.3.2 and it work great