Lägga till ContextHub på Pages och Access Stores adding-contexthub-to-pages-and-accessing-stores
Lägg till ContextHub på sidorna för att aktivera ContextHub-funktionerna och för att länka till ContextHub Javascript-biblioteken
ContextHub Javascript-API:t ger åtkomst till kontextdata som hanteras av ContextHub. Den här sidan beskriver kortfattat huvudfunktionerna i API:t för att komma åt och ändra kontextdata. Följ länkarna till API-referensdokumentationen för att se detaljerad information och kodexempel.
Lägga till ContextHub i en sidkomponent adding-contexthub-to-a-page-component
Om du vill aktivera ContextHub-funktionerna och länka till ContextHub Javascript-biblioteken inkluderar du kontexthub-komponenten i head
på sidan. JSP-koden för sidkomponenten liknar följande exempel:
<head>
<sling:include path="contexthub" resourceType="granite/contexthub/components/contexthub" />
</head>
Observera att du även måste konfigurera om ContextHub-verktygsfältet ska visas i förhandsgranskningsläget. Se Visa och dölja ContextHub-gränssnittet.
Om ContextHub Stores about-contexthub-stores
Använd ContextHub-arkiv för att behålla kontextdata. ContextHub innehåller följande typer av butiker som utgör grunden för alla butikstyper:
Alla butikstyper är tillägg till ContextHub.Store.Core
klassen. Mer information om hur du skapar en ny typ av butik finns i Skapa anpassade butiker. Mer information om olika typer av exempelarkiv finns i Exempel på ContextHub Store-kandidater.
Beständiga lägen persistence-modes
Kontextnavlager använder ett av följande beständiga lägen:
- Lokal: Använder HTML5 localStorage för att behålla data. Lokal lagring sparas i webbläsaren i alla sessioner.
- Session: HTML5 sessionStorage används för att lagra data. Sessionslagringsplatsen sparas under hela webbläsarsessionen och är tillgänglig för alla webbläsarfönster.
- Cookie: Använder webbläsarens inbyggda stöd för cookies för datalagring. Cookie-data skickas till och från servern i HTTP-begäranden.
- Fönster.namn: Använder egenskapen window.name för att behålla data.
- Minne: Använder ett JavaScript-objekt för att bevara data.
Som standard använder Context Hub det lokala beständighetsläget. Om webbläsaren inte stöder eller tillåter lokalStorage för HTML5 används sessionens beständighet. Om webbläsaren inte stöder eller tillåter HTML5 sessionStorage, används Window.name persistence.
Lagra data store-data
Internt kan du lagra data i en trädstruktur, vilket gör att värden kan läggas till som primära typer eller komplexa objekt. När du lägger till komplexa objekt i butiker skapar objektegenskaperna grenar i dataträdet. Följande komplexa objekt läggs till i ett tomt arkiv med namnet location:
Object {
number: 321,
data: {
city: "Basel",
country: "Switzerland",
details: {
population: 173330,
elevation: 260
}
}
}
Trädstrukturen för butiksdata kan utformas på följande sätt:
/
|- number
|- data
|- city
|- country
|- details
|- population
|- elevation
Trädstrukturen definierar dataobjekt i arkivet som nyckel/värde-par. I ovanstående exempel är tangenten /number
motsvarar värdet 321
och nyckeln /data/country
motsvarar värdet Switzerland
.
Ändra objekt manipulating-objects
ContextHub tillhandahåller ContextHub.Utils.JSON.tree
-klass för att hantera JavaScript-objekt. Använd funktionerna i den här klassen för att ändra JavaScript-objekt innan du lägger till dem i en butik eller efter att du har fått dem från en butik.
Dessutom finns ContextHub.Utils.JSON
-klassen innehåller funktioner för att serialisera objekt till strängar och deserialisera strängar till objekt. Använd den här klassen för att hantera JSON-data för webbläsare som inte innehåller JSON.parse
och JSON.stringify
funktioner.
Interagera med ContextHub Stores interacting-with-contexthub-stores
Använd ContextHub
Javascript-objekt för att hämta ett arkiv som ett Javascript-objekt. När du har fått lagringsobjektet kan du ändra de data som det innehåller. Använd getAllStores
eller getStore
för att hämta butiken.
Åtkomst till butiksdata accessing-store-data
The ContexHub.Store.Core
Javascript-klassen definierar flera funktioner för interaktion med butiksdata. Följande funktioner lagrar och hämtar flera dataobjekt som finns i objekt:
Enskilda dataobjekt lagras som en uppsättning nyckel/värde-par. Om du vill lagra och hämta värden anger du motsvarande nyckel:
Observera att anpassade lagringskandidater kan definiera ytterligare funktioner som ger åtkomst till lagringsdata.
ContextHub Eventing contexthub-eventing
ContextHub innehåller ett ramverk för händelser som gör att du automatiskt kan reagera på butikshändelser. Varje lagringsobjekt innehåller en ContextHub.Utils.Eventing
objekt som är tillgängligt som butikens eventing
-egenskap. Använd on
eller once
funktion för att binda en Javascript-funktion till en store-händelse.
Använda kontextnavet för att hantera cookies using-context-hub-to-manipulate-cookies
Context Hub Javascript API har stöd för olika webbläsare för hantering av webbläsarcookies. The ContextHub.Utils.Cookie
I namnutrymmet definieras flera funktioner för att skapa, ändra och ta bort cookies.
Bestämmer matchade ContextHub-segment determining-resolved-contexthub-segments
Med segmentmotorn för ContextHub kan du avgöra vilket av de registrerade segmenten som matchas i det aktuella sammanhanget. Använd funktionen getResolvedSegments i ContextHub.SegmentEngine.SegmentManager
för att hämta lösta segment. Använd sedan getName
eller getPath
funktionen i ContextHub.SegmentEngine.Segment
klass som ska testas för ett segment.
Installerade segment installed-segments
ContextHub-segment installeras under /conf/we-retail/settings/wcm/segments
nod.
- hona
- hona-över-30
- hona-under-30
- man
- hand-över-30
- man-under-30
- order-value-75-to-100
- order-value-over-100
- over-30
- sommar
- Sommarhona
- sommar-hona-över-30
- sommar-hona-under-30
- Sommarman
- sommar-man-over-30
- Sommar-man-under-30
- under-30
- vintertid
- vinterhona
- vinterhona-över-30
- vinterhona-under-30
- vinterhandjur
- vintermanlig-över-30
- vinterhandjur under 20
De regler som används för att lösa dessa segment sammanfattas enligt följande:
-
Kvinna eller man bestäms av
gender
dataobjekt för profil butik. -
Åldern avgörs av åldersdataobjektet i profilarkivet.
-
Säsongen bestäms av latituddataobjektet för geolokalisering och månadsdataobjektet för surferinfo-arkivet.
Felsökningsmeddelanden för loggning för ContextHub logging-debug-messages-for-contexthub
Konfigurera tjänsten Adobe Granite ContextHub OSGi (PID = com.adobe.granite.contexthub.impl.ContextHubImpl
) för att logga detaljerade felsökningsmeddelanden som är användbara vid utveckling.
Om du vill konfigurera tjänsten kan du antingen använda Webbkonsol eller använda JCR-nod i databasen:
- Webbkonsol: Om du vill logga felsökningsmeddelanden väljer du egenskapen Felsökning.
- JCR-nod: Om du vill logga felsökningsmeddelanden ställer du in det booleska värdet
com.adobe.granite.contexthub.debug
egenskap tilltrue
.
Se en översikt över ContextHub Framework see-an-overview-of-the-contexthub-framework
ContextHub tillhandahåller en diagnostiksida där du kan se en översikt över ContextHub-ramverket.