EngageBox et Joomla 6 : le popup ne s’ouvre pas dans les articles ciblés — Analyse et solution
 

🎯 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.