GraphQL "includeVariations" restituisce vuoto con filtri in AEMaaCS
In AEMaaCS, il parametro includeVariations:true in una query GraphQL restituisce risultati vuoti quando viene applicato un filtro aggiuntivo, ad esempio _path. Ciò si verifica quando si recuperano varianti di frammenti di contenuto con filtri specifici. Per risolvere il problema, abilita il filtro ibrido e modifica il filtro query.
Descrizione description
Ambiente
- Prodotto: Adobe Experience Manager (AEM) as a Cloud Service - Sites
- Istanza: Sviluppo
Problema/Sintomi
- L'utilizzo di
includeVariations:truerestituisce risultati corretti. - L'aggiunta di filtri (ad esempio,
_path) genera un output di query vuoto. - Si verifica quando si recuperano varianti di frammenti di contenuto con i filtri
Risoluzione resolution
Per risolvere il problema, effettua le seguenti operazioni:
-
Abilitare il filtro ibrido aggiungendo la proprietà
cfGlobalVersion=1a/content/dam. Migliora le prestazioni delle query e risolve i problemi di filtro basati sui percorsi. Per ulteriori informazioni, consulta la documentazione di Utilizzare il filtro ibrido di AEM GraphQL. -
Testarlo in un ambiente inferiore prima di applicarlo alla produzione.
-
Modificare i filtri delle query. Utilizza l'operatore
STARTS_WITHper_pathinvece diEQUALSnelle espressioni:code language-none [ { value: "/content/dam/content-fragments/sites/example-path/", _operator: STARTS_WITH } ]Nota: questa soluzione alternativa non funziona se è abilitato il filtro ibrido.
-
Se sono necessarie più varianti, esegui esplicitamente una query su ciascuna variante utilizzando alias, come illustrato di seguito:
code language-none query($path: String!) { standard: pageByPath(_path: $path, variation: "standard") { item { _path title _variation } } premier: pageByPath(_path: $path, variation: "premier") { item { _path title _variation } } } -
Per ottimizzare la progettazione delle query, se è necessaria una sola variante specifica, specificarla direttamente nella query utilizzando il parametro di variante anziché affidarsi a
includeVariations: true. -
Verifica la presenza di frammenti di contenuto non validi in cui mancano i modelli di contenuto associati.
-
Rimuovi i frammenti non validi o rendili validi associandoli ai modelli appropriati.
-
Dopo aver abilitato il filtro ibrido o aver apportato modifiche, verifica i registri sia sull’istanza di authoring che su quella di pubblicazione per verificare che le impostazioni siano applicate correttamente.
-
Utilizza le query elenco con moderazione quando è necessario un solo frammento; preferisci le query mirate (ad esempio,
pageByPath).
Lettura correlata
- Aggiornamento dei frammenti di contenuto per ottimizzare il filtro GraphQL nella guida utente di AEM as a Cloud Service.
- Ottimizzare le query GraphQL nella documentazione di AEM.