Lägga till ContextHub på Pages och Access Stores adding-contexthub-to-pages-and-accessing-stores

CAUTION
AEM 6.4 har nått slutet på den utökade supporten och denna dokumentation är inte längre uppdaterad. Mer information finns i teknisk supportperiod. Hitta de versioner som stöds här.

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 321och 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.

NOTE
ContextHub är som standard inte medveten om den inloggning som för närvarande används på publiceringsservrar, och sådana användare betraktas som"anonyma" av ContextHub.
Du kan göra ContextHub uppmärksam på inloggade användare genom att läsa in profilarkivet som det implementerats i Referensplats för Vi.butik. Se relevant kod i GitHub här.

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.

WARNING
De installerade segmenten tillhandahålls som referenskonfigurationer som hjälper dig att skapa en egen dedikerad konfiguration för ditt projekt och bör därför inte användas direkt.

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 till true.

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.

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e