🎯 Problème rencontré
Lors de l’intégration de boutons EngageBox dans plusieurs articles Joomla 6, le comportement suivant a été observé :
-
Le popup s’ouvre correctement en prévisualisation.
-
Le popup s’ouvre correctement si l’assignation est réglée sur “All”.
-
Mais le popup ne s’ouvre pas du tout lorsque l’assignation est limitée à un article spécifique.
-
Les boutons sont visibles, mais aucune action ne se produit en frontend.
Ce dysfonctionnement rendait impossible l’utilisation d’EngageBox de manière ciblée article par article.
🧩 Contexte technique
Depuis Joomla 5.2 et plus encore dans Joomla 6, plusieurs changements importants ont été introduits :
-
Le routeur Joomla ne transmet plus toujours l’ID d’article de la même manière.
-
Certains scripts historiques (jQuery, Migrate, Bootstrap) ne sont plus chargés automatiquement.
-
EngageBox repose encore sur ces scripts pour détecter la page et déclencher les popups.
-
Résultat : EngageBox ne reconnaît pas l’article affiché, et donc ne charge pas ses scripts lorsque l’assignation est trop restrictive.
C’est pourquoi :
-
Assignation = All → fonctionne (scripts chargés partout)
-
Assignation = Article spécifique → ne fonctionne pas (scripts non chargés)
🔍 Cause identifiée
Le problème provenait d’un manque de compatibilité entre EngageBox et Joomla 6, empêchant :
-
la détection correcte de l’article en cours
-
le chargement automatique des scripts nécessaires
-
l’exécution du JavaScript déclenchant l’ouverture du popup
En d’autres termes : ➡️ EngageBox ne savait pas qu’il devait s’activer sur l’article sélectionné.
🛠️ Solution appliquée
La solution a consisté à activer une option essentielle dans EngageBox :
✔ Activation de “Compatibility Mode”
Dans EngageBox → Advanced, l’option Compatibility Mode a été activée.
Cette option force EngageBox à :
-
charger les scripts nécessaires (jQuery, Migrate, Bootstrap)
-
utiliser une méthode plus robuste pour détecter la page
-
contourner les limitations du routeur Joomla 6
-
garantir le fonctionnement des popups même avec une assignation précise
✔ Ajout des scripts dans “Custom JavaScript”
Les lignes JavaScript nécessaires ont été ajoutées dans :
EngageBox → Advanced → Custom JavaScript
Cela permet :
-
d’assurer le chargement des scripts manquants
-
d’éviter les conflits avec le template ou l’éditeur
-
de rendre EngageBox pleinement fonctionnel sur toutes les pages assignées
✔ Important : une seule fois suffit
Les scripts ajoutés dans “Custom JavaScript” sont chargés globalement dès qu’une EngageBox est active sur la page.
➡️ Il n’est pas nécessaire de les recopier dans chaque EngageBox.
✅ Résultat
Après activation du Compatibility Mode et ajout du JavaScript personnalisé :
-
Les popups s’ouvrent correctement en frontend
-
Les boutons fonctionnent dans les articles ciblés
-
L’assignation article par article est de nouveau opérationnelle
-
Le comportement est stable et compatible avec Joomla 6
📌 Conclusion
Ce problème est lié à l’évolution du routeur et du chargement des scripts dans Joomla 6. EngageBox nécessite désormais :
-
l’activation du Compatibility Mode
-
l’ajout manuel de scripts dans Custom JavaScript
Une fois ces ajustements effectués, EngageBox retrouve un fonctionnement normal, y compris avec des assignations précises.