dimanche 27 mars 2011

Probleme Joomla, mootools et Jquery


Joomla utilises nativement mootools comme librairie Javascript.
Ce qui rend l'intégration de scripts Jquery problématique.

Le bug viens que les fonctions jQuery appelé par " $ " (ou jQuery) appellent en fait des fonctions Mootools .

Une solution toute simple:

  1. D'abord tester si Jquery fonctionne ou pas avec : $(document).ready(function() { alert('Jquery fonctionne !');}); //affiche une alertbox avec un message en cas de succès
  2. Si vous ne voyez pas le message Jquery fonctionne, c est que jquery Bug sur votre Joomla
  3. Dans ce cas la solution est :
  • Charger la librairie Jquery en dernier dans votre thème Joomla ( juste avant le < / h e a d >)
  • Utiliser "jQuery.noConflict();" dans une fonction nommée autrement que jQuery ou $
  • donc ce qui donne :
var jQuery_sans_conflit = jQuery.noConflict();

jQuery_sans_conflit(document).ready(function() {

alert('Jquery fonctionne !');

});



et comme par magie vous disposez de mootools et jquery sur votre Joomla, bien sur remplacer les " $ " par " jQuery_sans_conflit " Pour toutes les fonctions appellés par jQuery ou $.

2 commentaires:

Elise a dit…
Ce commentaire a été supprimé par l'auteur.
flou a dit…

Bonjour, content d'avoir pu trouver une piste grâce à votre article concernant Jquery et Joomla. J'ai déjà eu à faire un site Joomla, puis un autre site avec Symphony en utilisant Jquery sans trouble. Hors là j'ai besoin d'utiliser joomla ET jquery en même temps. J'ai testé votre solution à la lettre en vain. A mon avis à fonctionne mais kk chose dans le fonctionnement de Joomla l'en empêche. Y a-t-il un endroit spécifique ou les code Jquery sont visible. J'ai mis votre exemple juste après la balise "body" mais rien. Pensez-vous que j'ai oublier quelque chose?

Merci