Support à partir de la version 1.6 RC1

Editeur de BBCodes / Réponse rapide ne marchent pas et autres soucis de js

Plus d'informations
06 Oct 2010 18:38 - 06 Oct 2010 18:39 #1 par failrOn
Si l'éditeur de BBCodes ne marche pas, vous avez un conflit au niveau du javascript ou une erreur dans votre site.

Cela signifie dans la majorité des cas que vous avez installé un template, un plugin ou module qui essaie de charger sa propre librairie javascript qui n'est pas compatible avec Mootools 1.2.

Ou vous avez du javascript qui cause des soucis quelque part dans votre code, spécialement avec IE qui est très sensible avec là moindre erreur et cesse de fonctionner quand in voit un problème potentiel.

Comment débugger cela ?

Les instructions suivantes sont valables pour un site existant, mais parfois il peut être plus simple de créer un nouveau site et installer les extensions une par une en installant en premier Kunena.

1°) Lire le message d'erreur

En premier vous devez lire le message d'erreur et le comprendre, même si vous n'arrivez pas à le comprendre totalement, il est écrit en bon anglais ou en français et contient des informations (comme le nom du fichier) qui nous aide à trouver quelle extension cause le problème.

2°) Lire le code source de la page (HTML)

Habituellement, la façon la plus facile de résoudre un problème avec le javascript dans votre site est de commencer à regarder le code HTML. Même si c'est terrifiant, c'est une tâche assez simple qui peut être réalisée par l'intermédiaire de votre navigateur. Cela n'a pas d'importance si vous ne savez pas lire l'HTML, nous essayons simplement de trouver des modèles dans ce code.

Quand vous regardez le code source d'une page HTML (clique droit/ voir le code source), vous verrez quelque chose comme cela :
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi-fi" lang="fi-fi" > <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="robots" content="index, follow" /> <meta name="keywords" content="..." /> <meta name="description" content="..." /> <meta name="generator" content="..." /> <title>Forum</title> <link href="/templates/rhuk_milkyway/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <link rel="stylesheet" href="http://kunena16/components/com_kunena/template/default/css/kunena.forum.css" type="text/css" /> <style type="text/css"> <!-- /* Kunena Custom CSS */ ... /* End of Kunena Custom CSS */ --> </style> <script type="text/javascript" src="/plugins/system/mtupgrade/mootools.js"></script> <script type="text/javascript" src="/components/com_kunena/js/slimbox/slimbox.js"></script> <script type="text/javascript" src="/components/com_kunena/template/default/js/default.js"></script> <link rel="stylesheet" href="/templates/system/css/system.css" type="text/css" /> <link rel="stylesheet" href="/templates/system/css/general.css" type="text/css" /> <link rel="stylesheet" href="/templates/rhuk_milkyway/css/template.css" type="text/css" /> <link rel="stylesheet" href="/templates/rhuk_milkyway/css/blue.css" type="text/css" /> <link rel="stylesheet" href="/templates/rhuk_milkyway/css/blue_bg.css" type="text/css" /> <!--[if lte IE 6]> <link href="/templates/rhuk_milkyway/css/ieonly.css" rel="stylesheet" type="text/css" /> <![endif]--> </head> <body> ... </body> </html>

Habituellement la balise <head> contient plus de données, mais la structure de base reste la même. Le code source peut paraitre compliqué, mais les seuls lignes qui nous intéressent sont :
Code:
<script type="text/javascript" src="..."></script>

Collecter tous ces blocs de lignes comme dans l'exemple ci-dessus pour être sur que vous les trouvez les toutes utilisez la fonction recherche , car il se peut que ces blocs de lignes ne soient pas tous à la même place :
Code:
<script type="text/javascript" src="/plugins/system/mtupgrade/mootools.js"></script> <script type="text/javascript" src="/components/com_kunena/js/slimbox/slimbox.js"></script> <script type="text/javascript" src="/components/com_kunena/template/default/js/default.js"></script>

Avec ces lignes, ce qui nous intéresse ce sont les noms des fichier et les chemins (bien que certaines lignes peuvent contenir des URLs).

3°) Vérifier que Mootools 1.2 est chargé

Commencez par vérifier que cette liste contient un /plugins/system/mtupgrade/mootools.js (Joomla 1.5 seulement). C'est très important que ce fichier soit chargé, sinon votre javascript ne marchera pas sans ça. Si ce fichier n'est pas chargé :
  1. Vérifiez dans Administration >> Extensions >> Gestionnaire des Plugins >> System - Mootools Upgrade que le plugin est activé
  2. Si il est activé, vous avez une extension qui se comporte mal et qui supprime Mootools de cette page. Allez à l'étape suivante.

4°) Trouvez les extensions qui utilisent du javascript

Tous les chemins contiennent des informations qui peuvent être utilisées pour trouver quelles extensions causent ce type de problème. Les chemins contiennent toujours ces répertoires :

  • /administration: Administration - vous ne devriez jamais avoir ceci
  • /components/com_xxx: composant nommé xxx
  • /libraries: Joomla
  • /media/system: Joomla
  • /media/xxx: extension nommée xxx
  • /modules/mod_xxx: module nommé xxx
  • /plugins/yyy/xxx: plugin nommé xxx
  • /templates/xxx: template nommé xxx

  • Vous pouvez utiliser la liste ci-dessus pour trouver les extensions qui chargent du javascript. Habituellement, une d'entre elle cause le problème qui aide grandement à trouver l'origine du souci.

    Veuillez noter que ces noms sont seulement le nom des répertoires des extensions, ce ne sont pas des noms que vous voyez habituellement dans le backend. Habituellement, elles sont nommés comme le vrai nom , mais pas toujours. Par exemple, com_community est JomSocial et com_comprofiler est Community Builder (ces deux extensions fonctionnent parfaitement avec K1.6). Donc vous serez amener à utiliser google ou à jeter un œil un dans ces fichiers pour trouver l'extension.

    5°) Désactiver toutes les extensions qui utilisent du javascript

    Veuillez mettre noir sur blanc chaque action que vous faites, pour pouvoir restaurer les changements à l'état précédent. Vous devriez effectuer ces étapes une par une et regarder si le problème est corrigé ou faire toutes les étapes.
    1. Tout le javascript de Joomla! et Kunena est sur à utiliser
    2. Si votre template est listé, utiliser plutôt rhuk_milkyway
    3. Si un plugin est listé, Désactiver le
    4. Si un module est listé, Désactiver le
    5. Si un composant est listé, trouvez tous les modules et plugins rattachés à ce composant et Désactiver les tous

    Ensuite vérifiez que le souci a disparu, dans la plupart des cas Kunena devrait fonctionner normalement après toutes cette étape. Dans le cas contraire, regardez si vous avez encore du javascript chargé par une extension.

    6°) Faites des recherches pour connaitre ce qui cause le problème

    A partir de maintenant l'éditeur de BBCodes devrait marcher.

    Maintenant, vous devez faire les précédentes étapes dans l'ordre inverse et activer chaque template/plugin/module un par un. Chaque fois vérifiez que tout marche. Éventuellement vous trouverez toutes les extensions incompatibles avec Kunena.

    Pour soutenir le projet Kunena : soutenir via le système de sponsor de github
    Dernière édition: 06 Oct 2010 18:39 par failrOn.
    Les utilisateur(s) suivant ont remercié: Scottux
    Le sujet a été verrouillé.
    Modérateurs: lavstephfailrOnScottuxdede17serge
    Temps de génération de la page : 0.630 secondes
    Propulsé par Kunena