Aggiungi ContextHub alle pagine per abilitare le funzioni di ContextHub e per collegare le librerie JavaScript di ContextHub.
L’API JavaScript di ContextHub fornisce accesso ai dati contestuali gestiti da ContextHub. Questa pagina descrive brevemente le funzioni principali dell’API per accedere e manipolare i dati contestuali. Per informazioni dettagliate ed esempi di codice, segui i collegamenti alla documentazione di riferimento delle API.
Per abilitare le funzioni di ContextHub e collegare le librerie JavaScript di ContextHub, includi contexthub
componente in head
della pagina. Il codice HTL del componente page deve essere simile al seguente esempio:
<sly data-sly-resource="${'contexthub' @ resourceType='granite/contexthub/components/contexthub'}"/>
Inoltre, devi configurare se la barra degli strumenti di ContextHub viene visualizzata in modalità Anteprima. Consulta Visualizzazione e nascondere l’interfaccia utente di ContextHub.
Utilizza gli archivi ContextHub per rendere persistenti i dati contestuali. ContextHub fornisce i seguenti tipi di store che costituiscono la base di tutti i tipi di store:
Tutti i tipi di store sono estensioni del ContextHub.Store.Core
classe. Per informazioni sulla creazione di un nuovo tipo di archivio, vedere Creazione di store personalizzati. Per informazioni sui tipi di archivio di esempio, vedi Candidati archivio ContextHub di esempio.
Gli archivi Context Hub utilizzano una delle seguenti modalità di persistenza:
Per impostazione predefinita, Context Hub utilizza la modalità di persistenza locale. Se il browser non supporta o consente HTML5 localStorage, viene utilizzata la persistenza della sessione. Se il browser non supporta o consente HTML5 sessionStorage, viene utilizzata la persistenza Window.name.
Internamente, i dati vengono memorizzati in una struttura ad albero, consentendo l'aggiunta di valori come tipi primari o oggetti complessi. Quando si aggiungono oggetti complessi agli archivi, le proprietà dell'oggetto formano rami nella struttura dati. Ad esempio, il seguente oggetto complesso viene aggiunto a un archivio vuoto denominato location:
Object {
number: 321,
data: {
city: "Basel",
country: "Switzerland",
details: {
population: 173330,
elevation: 260
}
}
}
La struttura ad albero dei dati dell’archivio può essere concettualizzata come segue:
/
|- number
|- data
|- city
|- country
|- details
|- population
|- elevation
La struttura ad albero definisce gli elementi dati nell’archivio come coppie chiave/valore. Nell’esempio precedente, la chiave /number
corrisponde al valore 321
e la chiave /data/country
corrisponde al valore Switzerland
.
ContextHub fornisce ContextHub.Utils.JSON.tree
classe per la manipolazione di oggetti JavaScript. Utilizzare le funzioni di questa classe per manipolare gli oggetti JavaScript prima di aggiungerli a un archivio o dopo averli ottenuti da un archivio.
Inoltre, il ContextHub.Utils.JSON
La classe fornisce funzioni per serializzare gli oggetti alle stringhe e deserializzare le stringhe agli oggetti. Utilizza questa classe per gestire i dati JSON e supportare i browser che non includono in modo nativo il JSON.parse
e JSON.stringify
funzioni.
Utilizza il ContextHub
Oggetto JavaScript per ottenere un archivio come oggetto JavaScript. Una volta ottenuto l'oggetto store, è possibile manipolare i dati in esso contenuti. Utilizza il getAllStores
o getStore
per ottenere il punto vendita.
Il ContexHub.Store.Core
La classe JavaScript definisce diverse funzioni per interagire con i dati dell’archivio. Le funzioni seguenti memorizzano e recuperano più elementi di dati contenuti negli oggetti:
I singoli elementi di dati sono memorizzati come un insieme di coppie chiave/valore. Per memorizzare e recuperare i valori, specifica la chiave corrispondente:
Tieni presente che i candidati all’archivio personalizzato possono definire funzioni aggiuntive per consentire l’accesso ai dati dell’archivio.
ContextHub non è a conoscenza, per impostazione predefinita, dell’accesso attualmente utilizzato sui server di pubblicazione e tali utenti sono considerati da ContextHub come "Anonimi".
Puoi rendere ContextHub consapevole degli utenti connessi caricando l’archivio profili. Fai riferimento a codice di esempio su GitHub qui.
ContextHub include un framework di eventi che ti consente di reagire automaticamente per archiviare gli eventi. Ogni oggetto store contiene un ContextHub.Utils.Eventing
oggetto disponibile come eventing
proprietà. Utilizza il on
o once
funzione per associare una funzione JavaScript a un evento store.
L’API JavaScript di Context Hub fornisce supporto tra browser diversi per la gestione dei cookie del browser. Il ContextHub.Utils.Cookie
namespace definisce diverse funzioni per creare, manipolare ed eliminare i cookie.
Il motore di segmenti ContextHub consente di determinare quali dei segmenti registrati vengono risolti nel contesto corrente. Utilizzare la funzione getResolvedSegments di ContextHub.SegmentEngine.SegmentManager
classe per recuperare i segmenti risolti. Quindi, utilizza getName
o getPath
funzione del ContextHub.SegmentEngine.Segment
classe per testare un segmento.
I segmenti ContextHub vengono installati sotto il /conf/<site>/settings/wcm/segments
nodo.
I seguenti segmenti vengono installati con Sito tutorial WKND.
Le regole utilizzate per risolvere questi segmenti sono riepilogate come segue:
I segmenti installati vengono forniti come configurazioni di riferimento per aiutarti a creare una configurazione dedicata per il progetto e come tale non devono essere utilizzati direttamente.
Sono disponibili diverse opzioni per il debug di ContextHub, inclusa la generazione di registri. Consulta Configurazione di ContextHub per ulteriori informazioni.
ContextHub fornisce un pagina diagnostica dove puoi vedere una panoramica del framework ContextHub.