Joomla without mootools

Virer Mootools core et Mootools c’est économiser 300 ko par page (voir plus), soit en gros dans la plupart des cas la moitié du poids de la page !!! Mais cela a un prix. Il va falloir se priver de pas mal de chose, car mootools dans joomla il est partout. Historiquement mootools a été le choix de framework javascript par défaut. Problème maintenant il est largement dépassé (ça dépend pourquoi) par les jquery et compagnie. Tellement qu’on lui a même mis un bootstrap, un jquery à côté … A l’écriture de cet article la dernière version dans du 26 février 2012 (nous sommes le 11/10/2013). Alors pourquoi ne le vire t on pas. Tout simplement parce que la plupart des extensions fonctionnent avec (xmap,Hs Syntax Highlighter et bien d’autre …).

 

 

Il va donc falloir trouver leur équivalent en Jquery, ou autonome. En attendant si vous voulez essayer voici comment procéder:

 J’ai vu cette astuce sur http://www.inmotionhosting.com/support/edu/joomla-25/302-disable-mootools-in-joomla-25

 Il suffit d’ajouter le code suivant dans libraries/joomla/document/html/renderer/head.php dans la section // Generate script file links (dans  au début foreach). En gros ce code dit, si une extensions (ou autre) demande à charger mootools, je ne l’écoute pas et je passe à la suite.

 Vous imaginez bien que je vais pas vous laisser faire ça comme ça.  Ben en fait je vais vous laisser faire car en Joomla 3 il n’est pas encore possible de faire de la surcharge de libraries sans installer un plugin qui n’existe pas encore à l’heure où j’écris cet article

 Maintenant on va ajouter le code magique que voici :

 

    // Code to disable mootools for your site (still loads it for your admin)
    // Written by Brad Markle w/ InMotionHosting.com
   /* $ex_src = explode("/",$strSrc);
   // var_dump( $ex_src);
    $js_file_name = $ex_src[count($ex_src)-1];
    $js_to_ignore = array("mootools-core.js","mootools-more.js");
    if( in_array($js_file_name,$js_to_ignore) AND substr_count($document->baseurl,"/administrator") < 1 AND $_GET['view'] != 'form')
        continue;

 

----

Dans le fichier ça donne ça

-----

// Generate script file links
                foreach ($document->_scripts as $strSrc => $strAttr)
                {
    // Code to disable mootools for your site (still loads it for your admin)
    // Written by Brad Markle w/ InMotionHosting.com
    $ex_src = explode("/",$strSrc);
    $js_file_name = $ex_src[count($ex_src)-1];
    $js_to_ignore = array("mootools-core.js","mootools-more.js");
    if( in_array($js_file_name,$js_to_ignore) AND substr_count($document->baseurl,"/administrator") < 1 AND $_GET['view'] != 'form')
        continue;

$buffer .= $tab . '<script src="' . $strSrc . '"';
if (!is_null($strAttr['mime']))
{
$buffer .= ' type="' . $strAttr['mime'] . '"';
}
if ($strAttr['defer'])
{
        $buffer .= ' defer="defer"';
}
if ($strAttr['async'])
{
        $buffer .= ' async="async"';
}
        $buffer .= '></script>' . $lnEnd;
}

 Maintenant à vous de trouvez les plugins, composants etc qui utilisent mootools. Bref la chasse à mootools est commencée.

 

mootools img 001 mootools img 002 

 

Comments powered by CComment

We use cookies

Nous utilisons des cookies sur notre site web. Certains d’entre eux sont essentiels au fonctionnement du site et d’autres nous aident à améliorer ce site et l’expérience utilisateur (cookies traceurs). Vous pouvez décider vous-même si vous autorisez ou non ces cookies. Merci de noter que, si vous les rejetez, vous risquez de ne pas pouvoir utiliser l’ensemble des fonctionnalités du site.