Passa al contenuto principale

Query Components

Potrebbe capitare che un componente di frontend debba mostrare un insieme di contenuti o asset digitali presenti nel CMS. Ad esempio, immaginiamo un componente che visualizza "prodotti in evidenza" oppure "video novità".

Se nel proprio sito/app ci sono molti di questi componenti che hanno lo stesso aspetto, ma effettuano query secondo criteri diversi, è consigliabile configurare un unico componente lato CMS che contiene le informazioni configurabili per effettuare la query, in modo che questa non sia completamente hard coded nell'applicazione.

Ad esempio, un caso frequente potrebbe essere legato all'uso delle tassonomie come criterio di filtro. Immaginiamo un componente che visualizza un riga orizzontale composta da N immagini (oppure prodotti) che hanno categoria "Recommended" e che questo componente debba apparire in home page.

Di seguito una serie di possibili approcci:

  • hard code: il componente potrebbe effettuare direttamente la query filtrando per category = Recommended. In questo caso il valore "Recommended" sarebbe codificato nell'applicazione di frontend e se è necessario cambiarlo (es. in "Novità") è necessario rifare il deploy dell'app.
  • (controllato dal CMS) si crea un corrispondente Component sul CMS con un campo "Category". Il componente di frontend recupera quest'informazione dal CMS per determinare il tipo di categoria da cercare. Questo consente all'editore di cambiare idea nel tempo ed effettuare interrogazioni diverse senza richiedere nuovo deploy dell'applicazione.
  • (controllato dal CMS, avanzato) si crea un campo JSON sul corrispondente Component del CMS e nel campo JSON si inseriscono le opzioni da passare a DiscoveryCms.getContents(). In questo caso il frontend recupera prima la query e poi la esegue. Richiede che l'amministratore sul backend sia esperto per conoscere il formato di interrogazione delle API.