Utökar ContextHub
- Ämnen:
- Developing
Skapat för:
- Developer
Definiera nya typer av ContextHub-butiker och moduler när de angivna lagren inte uppfyller dina lösningskrav.
Skapa anpassade butikskandidater
ContextHub-butiker skapas från registrerade butikskandidater. Om du vill skapa en anpassad butik måste du skapa och registrera en butikskandidater.
JavaScript-filen som innehåller koden som skapar och registrerar butikskandidaten måste inkluderas i en biblioteksmapp för klient. Mappens kategori måste matcha följande mönster:
contexthub.store.[storeType]
The [storeType]
en del av kategorin är storeType
som butikskandidaten registreras med. (Se Registrerar en ContextHub Store-kandidat). Till exempel för storeType för contexthub.mystore
måste kategorin för klientbiblioteksmappen vara contexthub.store.contexthub.mystore
.
Skapa en ContextHub Store-kandidat
Om du vill skapa en butikskandidat använder du ContextHub.Utils.inheritance.inherit
för att utöka en av basbutikerna:
Observera att varje basbutik utökar ContextHub.Store.Core
butik.
I följande exempel skapas det enklaste tillägget för ContextHub.Store.PersistedStore
butikskandidat:
myStoreCandidate = function(){};
ContextHub.Utils.inheritance.inherit(myStoreCandidate,ContextHub.Store.PersistedStore);
I realiteten definierar dina anpassade butikskandidater ytterligare funktioner eller åsidosätter butikens ursprungliga konfiguration. Flera exempel på arkivkandidater installeras i databasen nedan /libs/granite/contexthub/components/stores
. Använd CRXDE Lite för att öppna javascript-filerna om du vill lära dig av dessa exempel.
Registrerar en ContextHub Store-kandidat
Registrera en butikskandidat för att integrera den med ContextHub-ramverket så att butiker kan skapas utifrån det. Om du vill registrera en butikskandidat använder du registerStoreCandidate
funktionen i ContextHub.Utils.storeCandidates
klassen.
När du registrerar en butikskandidat anger du ett namn för butikstypen. När du skapar en butik från kandidaten använder du butikstypen för att identifiera den kandidat som den baseras på.
När du registrerar en butikskandidat anger du dess prioritet. När en butikskandidat registreras med samma butikstyp som en redan registrerad butikskandidat, används den som har den högre prioriteten. Därför kan du åsidosätta befintliga butikskandidater med nya implementeringar.
ContextHub.Utils.storeCandidates.registerStoreCandidate(myStoreCandidate,
'contexthub.mystorecandidate', 0);
I de flesta fall behövs bara en kandidat och prioriteten kan anges till 0
, men om du är intresserad kan du läsa mer om mer avancerade registreringar, vilket gör att en av få butiksimplementationer kan väljas baserat på javascript-villkor (applies
) och kandidatprioritet.
Skapar gränssnittsmodultyper för ContextHub
Skapa anpassade gränssnittsmodultyper när de installerat med ContextHub uppfyller inte dina krav. Om du vill skapa en gränssnittsmodultyp skapar du en ny gränssnittsmodulrenderare genom att utöka ContextHub.UI.BaseModuleRenderer
och sedan registrera den med ContextHub.UI
.
Skapa en användargränssnittsåtergivning moduler en Class
-objekt som innehåller den logik som återger UI-modulen. Klassen måste minst utföra följande åtgärder:
-
Utöka
ContextHub.UI.BaseModuleRenderer
klassen. Den här klassen är den grundläggande implementeringen för alla UI-modulrenderare. TheClass
objektet definierar en egenskap med namnetextend
som du använder för att namnge den här klassen som den som utökas. -
Ange en standardkonfiguration. Skapa en
defaultConfig
-egenskap. Den här egenskapen är ett objekt som innehåller de egenskaper som har definierats förcontexthub.base
UI-modulen och andra egenskaper som du behöver.
Källan för ContextHub.UI.BaseModuleRenderer
finns på /libs/granite/contexthub/code/ui/container/js/ContextHub.UI.BaseModuleRenderer.js. Om du vill registrera renderaren använder du registerRenderer
metoden ContextHub.UI
klassen. Du måste ange ett namn för modultypen. När administratörer skapar en gränssnittsmodul som baseras på den här renderaren anger de det här namnet.
Skapa och registrera återgivningsklassen i en anonym funktion som körs automatiskt. Följande exempel baseras på källkoden för gränssnittsmodulen contexthub.browserinfo. Den här gränssnittsmodulen är ett enkelt tillägg till ContextHub.UI.BaseModuleRenderer
klassen.
;(function() {
var SurferinfoRenderer = new Class({
extend: ContextHub.UI.BaseModuleRenderer,
defaultConfig: {
icon: 'coral-Icon--globe',
title: 'Browser/OS Information',
storeMapping: {
surferinfo: 'surferinfo'
},
template:
'<p>{{surferinfo.browser.family}} {{surferinfo.browser.version}}</p>' +
'<p>{{surferinfo.os.name}} {{surferinfo.os.version}}</p>'
}
});
ContextHub.UI.registerRenderer('contexthub.browserinfo', new SurferinfoRenderer());
}());
JavaScript-filen som innehåller koden som skapar och registrerar återgivaren måste inkluderas i en biblioteksmapp för klient. Mappens kategori måste matcha följande mönster:
contexthub.module.[moduleType]
The [moduleType]
en del av kategorin är moduleType
som modulåtergivaren registreras med. För moduleType
av contexthub.browserinfo
måste kategorin för klientbiblioteksmappen vara contexthub.module.contexthub.browserinfo
.
Experience Manager
- Utveckla användarhandboken - översikt
- Introduktion för utvecklare
- Komma igång med utveckling i AEM Sites – WKND-självstudiekurs
- AEM kärnbegrepp
- Struktur för det AEM användargränssnittet med pekskärm
- Koncepten i det AEM användargränssnittet med pekskärm
- AEM - riktlinjer och bästa praxis
- Använda bibliotek på klientsidan
- Developing and Page Diff
- Begränsningar för redigerare
- CSRF Protection Framework
- Datamodellering - David Nueschelers modell
- Bidrar till AEM
- Dokumentskydd
- Referensmaterial
- Skapa en webbplats med alla funktioner (Classic UI)
- Designer och Designer (Classic UI)
- Plattform
- Fusklapp för Sling
- Använda Sling-adaptrar
- Taggbibliotek
- Mallar
- Använda Sling Resource Merger i AEM
- Övertäckningar
- Namnkonventioner
- Skapa en ny GRE-fältkomponent
- Query Builder
- Taggar
- Anpassa sidor som visas av felhanteraren
- Anpassade nodtyper
- Lägga till teckensnitt för grafikåtergivning
- Ansluta till SQL-databaser
- Extern URL
- Skapa och använda jobb för avlastning
- Konfigurerar cookie-användning
- Så här programmässigt kommer du åt AEM JCR
- Integrera tjänster med JMX-konsolen
- Developing the Bulk Editor
- Utveckla rapporter
- eCommerce
- Komponenter
- Kärnkomponenter
- Formatsystem
- Komponenter - översikt
- AEM - Grunderna
- Utveckla AEM
- Utveckla AEM - kodexempel
- JSON-exporterare för innehållstjänster
- Aktivera JSON-export för en komponent
- Bildredigeraren
- Dekoration-tagg
- Använda Dölj villkor
- Konfigurera flera redigerare på plats
- Utvecklarläge
- Testa användargränssnittet
- Komponenter för innehållsfragment
- Hämta sidinformation i JSON-format
- Internationalisering
- Klassiska gränssnittskomponenter
- Headless Experience Management
- Headless och Hybrid with AEM
- Aktivera JSON-export för en komponent
- Enkelsidiga program
- SPA introduktion och genomgång
- SPA WKND - självstudiekurs
- Getting Started with SPA in AEM - React
- Komma igång med SPA i AEM - Angular
- Implementera en React Component for SPA
- SPA djupdykning
- SPA
- Utveckla SPA för AEM
- SPA Blueprint
- SPA
- Dynamisk mappning av modell till komponent för SPA
- SPA
- SPA och Adobe Experience Platform Launch Integration
- SPA- och serveråtergivning
- SPA referensmaterial
- HTTP-API
- Innehållsfragment
- Experience Fragments
- Utvecklingsverktyg
- Utvecklingsverktyg
- AEM Modernization Tools
- Dialogruteredigeraren
- Verktyget Dialogkonvertering
- Utveckla med CRXDE Lite
- Hantera paket med Maven
- Utveckla AEM projekt med Eclipse
- Skapa AEM projekt med Apache Maven
- Utveckla AEM projekt med IntelliJ IDEA
- Så här använder du VLT-verktyget
- Så här använder du proxyserververktyget
- AEM Brackets Extension
- AEM Developer Tools for Eclipse
- AEM
- Personanpassning
- Utöka AEM
- Anpassa sidredigering
- Anpassa konsolerna
- Anpassa vyer av Sidegenskaper
- Konfigurera din sida för gruppredigering av sidegenskaper
- Anpassa och utöka Content Fragments
- Utöka arbetsflöden
- Utöka Multi Site Manager
- Spårning och analys
- Cloud Services
- Skapa anpassade tillägg
- Forms
- Integrera tjänster med JMX-konsolen
- Developing the Bulk Editor
- Utöka Classic UI
- Testning
- Bästa praxis
- Mobil webb