Bonjour,
j'ai récemment été mis en charge de mettre à jours un composant Joomla, qui utilise le framework ExtJs de Sencha. J'ai développé mon application et lors de son intégration au composant déjà existant j'ai eu plusieurs problèmes.
La plupart ont été résolus en uploadant la version 4.1.0 de ExtJs (avant c'était la 4.0.X (je ne connais pas le nom de cette version exactement).
Lorsque j'ai mis à jour la librairie donc, tout marchait bien jusqu'à ce que j'arrive à l'édition d'un article (toujours sous Joomla). L'application utilise Mootools pour détecter les évènements qui déclencheront l'enregistrement de l'article (enfin c'est ce que je pense avoir compris en ayant lu le code dans le composant com_content). Le message d'erreur que je reçoit est :
Mootools récupère le formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part TypeError: Property 'id' of object #<HTMLDocument> is not a function
Ceci est le code du composant com_content, écrit par Joomla et je ne pense pas qu'il fasse y toucher. Le problème se passe au moment de la récupération du formulaire : document.id('item-form')).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <script type="text/javascript"> Joomla.submitbutton = function(task) { if (task == 'article.cancel' || document.formvalidator.isValid(document.id('item-form'))) { Uncaught TypeError: Property 'id' of object #<HTMLDocument> is not a function if (tinyMCE.get("jform_articletext").isHidden()) {tinyMCE.get("jform_articletext").show()}; tinyMCE.get("jform_articletext").save(); Joomla.submitform(task, document.getElementById('item-form')); } else { alert('Formulaire invalide'); } } </script>
Un plugin est installé en même temps que le composant sur lequel j'interviens qui permet de rajouter un bouton dans la page d'édition des articles et qui fait apparaître une fenêtre créée à partir de ExtJs. Bref cette librairie est chargée au chargement de cette page. J'ai fait plusieurs tests : j'ai enlevé le code javascript qui faisait appel à ExtJs sans enlever la librairie, ça ne marche toujours pas. Lorsque j'enlève tout (le code ExtJs et la librairie), je récupère la possibilité d'enregistrer.
Tout le long du développement de mon application sur Joomla, j'ai eu ce genre de message d'erreur mais ça n'a jamais perturbé le fonctionnement. Jusque là ...
J’espère pouvoir trouver de l'aide et, pour ça, avoir été clair.
Merci
Partager