AEM Cloud Sites: rendering del contenuto del corpo non presente nel componente del modulo multimediale
Questo articolo spiega come risolvere un problema in cui il contenuto del corpo nel componente modulo multimediale non viene riprodotto correttamente per gli utenti finali sui siti AEM Cloud, anche se il contenuto viene visualizzato come previsto in altri ambienti.
Descrizione description
Ambiente
Siti cloud Adobe Experience Manager (AEM) (tutte le versioni)
Sintomi
- Il contenuto del corpo (RTE) è mancante o non è renderizzato correttamente per gli utenti finali nel componente modulo multimediale nelle pagine pubblicate.
- Lo stesso contenuto viene visualizzato come previsto in altri ambienti AEM Cloud Sites (ad esempio Autore e Anteprima).
- Il problema è riproducibile per tutti gli utenti e non è specifico per l’account.
- Nelle pagine interessate, solo il titolo esperto o altri campi vengono visualizzati nel contenitore del corpo, mentre la biografia o i paragrafi del corpo creati non sono visibili.
- La visualizzazione dell’origine della pagina conferma che il contenuto è presente nell’origine di consegna, ma il DOM sottoposto a rendering per gli utenti finali omette il contenuto del corpo previsto.
Causa
Il problema è causato dal componente media-module.js che utilizza un indice di riga hardcoded (ad esempio: rows[ 8]) come fallback per il contenuto Body (RTE) quando nel markup pubblicato mancano i marcatori dei campi di Universal Editor. Se l’ordine delle righe cambia o non corrisponde alla struttura prevista, al posto del contenuto del corpo viene eseguito il rendering del contenuto errato (ad esempio il titolo dell’esperto).
Risoluzione resolution
Per risolvere il problema, segui i passaggi seguenti:
- Rivedi l’implementazione del componente
media-module.js, in particolare la logica responsabile della selezione della riga da riprodurre come contenuto del corpo (RTE). - Identifica il modo in cui la logica di fallback seleziona la riga quando mancano i marcatori di campo dell’Editor universale. Ad esempio, verifica se utilizza un indice hardcoded come
rows[ 8]. - Determina l’indice di riga corretto per il contenuto del corpo (RTE) nel markup pubblicato corrente. Ad esempio, se
rows[ 9]contiene il contenuto del corpo (RTE), aggiornare la logica di fallback per selezionarerows[ 9]invece dirows[ 8]. - In alternativa, puoi implementare un meccanismo di fallback indipendente dalla posizione che identifica la riga Body (RTE) in base al contenuto o alla struttura, anziché basarti su un indice fisso. Questo approccio rende il componente più robusto per modifiche future in ordine di riga.
- Verifica la logica aggiornata in un ambiente di staging. Utilizzare gli strumenti di sviluppo del browser per verificare che nel contenitore
.media-module-rtevenga eseguito il rendering del contenuto corretto. - Una volta convalidato, distribuisci il componente aggiornato in Produzione.
- Monitora le pagine interessate per garantire che ora il contenuto del corpo (RTE) venga riprodotto correttamente per gli utenti finali.