AEM Cloud Sites : le contenu du corps n’est pas rendu dans le composant media-module.
Cet article explique comment résoudre un problème en raison duquel le contenu du corps dans le composant media-module ne s’affiche pas correctement pour les utilisateurs finaux sur AEM Cloud Sites, même si le contenu apparaît comme prévu dans d’autres environnements.
Description description
Environnement
Adobe Experience Manager (AEM) Cloud Sites (toutes les versions)
Symptômes
- Le contenu du corps (éditeur de texte enrichi) est manquant ou ne s’affiche pas correctement pour les utilisateurs finaux dans le composant media-module sur les pages publiées.
- Le même contenu s’affiche comme prévu dans d’autres environnements AEM Cloud Sites (tels que la création et la prévisualisation).
- Le problème est reproductible pour tous les utilisateurs et n’est pas spécifique à un compte.
- Dans les pages affectées, seul le titre d’expert ou d’autres champs sont rendus dans le conteneur de corps, tandis que la biographie ou les paragraphes du corps créés ne sont pas visibles.
- L’affichage de la source de la page confirme que le contenu est présent dans la source de diffusion, mais le DOM rendu pour les utilisateurs finaux omet le contenu du corps attendu.
Cause
Le problème est dû au fait que le composant media-module.js utilise un index de ligne codé en dur (par exemple : rows[ 8]) comme solution de secours pour le contenu Body (RTE) lorsque les marques de champ de l’éditeur universel sont manquantes dans les balises publiées. Si l’ordre des lignes change ou ne correspond pas à la structure attendue, le contenu incorrect (tel que le titre d’expert) est rendu à la place du contenu du corps.
Résolution resolution
Suivez les étapes ci-dessous pour résoudre le problème :
- Examinez la mise en œuvre de votre composant
media-module.js, en particulier la logique responsable de la sélection de la ligne à afficher en tant que contenu du corps (éditeur de texte enrichi). - Identifiez comment la logique de secours sélectionne la ligne lorsque les marqueurs de champ de l’éditeur universel sont manquants. Par exemple, vérifiez s’il utilise un index codé en dur tel que
rows[ 8]. - Déterminez l’index de ligne correct pour le contenu du corps (éditeur de texte enrichi) dans les balises actuellement publiées. Par exemple, si
rows[ 9]contient le contenu du corps (éditeur de texte enrichi), mettez à jour la logique de secours pour sélectionnerrows[ 9]au lieu derows[ 8]. - Vous pouvez également envisager de mettre en œuvre un mécanisme de secours indépendant de la position qui identifie la ligne du corps (éditeur de texte enrichi) en fonction du contenu ou de la structure, plutôt que de vous fier à un index fixe. Cette approche rend le composant plus robuste aux modifications futures de l’ordre des lignes.
- Testez la logique mise à jour dans un environnement d’évaluation. Utilisez les outils de développement du navigateur pour vérifier que le contenu correct est rendu dans le conteneur de
.media-module-rte. - Une fois la validation effectuée, déployez le composant mis à jour en production.
- Surveillez les pages affectées pour vous assurer que le contenu du corps (éditeur de texte enrichi) est désormais correctement rendu pour les utilisateurs finaux.