Skapa en anpassad Cloud Service
- Ämnen:
- Developing
Skapat för:
- Developer
Standarduppsättningen med Cloud Services kan utökas med anpassade Cloud Service. På så sätt kan du lägga in egen kod på sidan på ett strukturerat sätt. Detta kommer i första hand att användas av analytiker från tredje part, t.ex. Google Analytics, Chartbeat osv. Cloud Services ärvs från överordnade sidor till underordnade sidor med möjlighet att bryta arvet på alla nivåer.
-
Skapa en ny nod under CRXDE Lite
/apps
:- Namn:
acs
- Typ:
nt:folder
- Namn:
-
Skapa en ny nod under
/apps/acs
:- Namn:
analytics
- Typ:
sling:Folder
- Namn:
-
Skapa 2 nya noder under
/apps/acs/analytics
:- Namn: komponenter
- Typ:
sling:Folder
och
- Namn: mallar
- Typ:
sling:Folder
-
Högerklicka på
/apps/acs/analytics/components
. Välj Skapa… följt av Skapa komponent… I dialogrutan som öppnas kan du ange:- Etikett:
googleanalyticspage
- Titel:
Google Analytics Page
- Supertyp:
cq/cloudserviceconfigs/components/configpage
- Grupp:
.hidden
- Etikett:
-
Klicka Nästa två gånger och ange:
- Tillåtna överordnade:
acs/analytics/templates/googleanalytics
Klicka Nästa två gånger och klicka OK.
- Tillåtna överordnade:
-
Lägg till en egenskap i
googleanalyticspage
:- Namn:
cq:defaultView
- Värde:
html
- Namn:
-
Skapa en ny fil med namnet
content.jsp
under/apps/acs/analytics/components/googleanalyticspage
, med följande innehåll:<%@page contentType="text/html" pageEncoding="utf-8"%><% %><%@include file="/libs/foundation/global.jsp"%><div> <div> <h3>Google Analytics Settings</h3> <ul> <li><div class="li-bullet"><strong>accountID: </strong><br><%= xssAPI.encodeForHTML(properties.get("accountID", "")) %></div></li> </ul> </div>
-
Skapa en ny nod under
/apps/acs/analytics/components/googleanalyticspage/
:-
Namn:
dialog
-
Typ:
cq:Dialog
-
Egenskaper:
- Namn:
title
- Typ:
String
- Värde:
Google Analytics Config
- Namn:
xtype
- Typ:
String
- Värde:
dialog
- Namn:
-
-
Skapa en ny nod under
/apps/acs/analytics/components/googleanalyticspage/dialog
:-
Namn:
items
-
Typ:
cq:Widget
-
Egenskaper:
- Namn:
xtype
- Typ:
String
- Värde:
tabpanel
- Namn:
-
-
Skapa en ny nod under
/apps/acs/analytics/components/googleanalyticspage/dialog/items
:- Namn:
items
- Typ:
cq:WidgetCollection
- Namn:
-
Skapa en ny nod under
/apps/acs/analytics/components/googleanalyticspage/dialog/items/items
:-
Namn: tab1
-
Typ:
cq:Panel
-
Egenskaper:
- Namn:
title
- Typ:
String
- Värde:
Config
- Namn:
-
-
Skapa en ny nod under
/apps/acs/analytics/components/googleanalyticspage/dialog/items/items/tab1
:-
Namn: objekt
-
Typ:
nt:unstructured
-
Egenskaper:
-
Namn:
fieldLabel
-
Typ: Sträng
-
Värde: Konto-ID
-
Namn:
fieldDescription
-
Typ:
String
-
Värde:
The account ID assigned by Google. Usually in the form UA-NNNNNN-N
-
Namn:
name
-
Typ:
String
-
Värde:
./accountID
-
Namn:
validateOnBlur
-
Typ:
String
-
Värde:
true
-
Namn:
xtype
-
Typ:
String
-
Värde:
textfield
-
-
-
Kopiera
/libs/cq/cloudserviceconfigs/components/configpage/body.jsp
till/apps/acs/analytics/components/googleanalyticspage/body.jsp
och ändralibs
tillapps
på rad 34 och göra skriptreferensen på rad 79 till en fullständigt kvalificerad sökväg. -
Skapa en ny mall under
/apps/acs/analytics/templates/
:- med Resurstyp =
acs/analytics/components/googleanalyticspage
- med Etikett =
googleanalytics
- med Titel=
Google Analytics Configuration
- med allowedPath =
/etc/cloudservices/googleanalytics(/.*)?
- med allowedChildren =
/apps/acs/analytics/templates/googleanalytics
- med sling:resourceSuperType =
cq/cloudserviceconfigs/templates/configpage
(på mallnod, inte jcr:content-noden) - med cq:designPath =
/etc/designs/cloudservices/googleanalytics
(on jcr:content)
- med Resurstyp =
-
Skapa ny komponent:
/apps/acs/analytics/components/googleanalytics
.Lägg till följande innehåll i
googleanalytics.jsp
:<%@page import="org.apache.sling.api.resource.Resource, org.apache.sling.api.resource.ValueMap, org.apache.sling.api.resource.ResourceUtil, com.day.cq.wcm.webservicesupport.Configuration, com.day.cq.wcm.webservicesupport.ConfigurationManager" %> <%@include file="/libs/foundation/global.jsp" %><% String[] services = pageProperties.getInherited("cq:cloudserviceconfigs", new String[]{}); ConfigurationManager cfgMgr = resource.getResourceResolver().adaptTo(ConfigurationManager.class); if(cfgMgr != null) { String accountID = null; Configuration cfg = cfgMgr.getConfiguration("googleanalytics", services); if(cfg != null) { accountID = cfg.get("accountID", null); } if(accountID != null) { %> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', '<%= accountID %>']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'https://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script><% } } %>
Den anpassade koden ska skapas baserat på konfigurationsegenskaperna.
-
Navigera till
http://localhost:4502/miscadmin#/etc/cloudservices
och skapa en ny sida:- Titel:
Google Analytics
- Namn:
googleanalytics
Gå tillbaka i CRXDE Lite och under
/etc/cloudservices/googleanalytics
lägger du till följande egenskap ijcr:content
:- Namn:
componentReference
- Typ:
String
- Värde:
acs/analytics/components/googleanalytics
- Titel:
-
Navigera till den nyligen skapade tjänstsidan (
http://localhost:4502/etc/cloudservices/googleanalytics.html
) och klicka på + för att skapa en ny konfiguration:- Överordnad konfiguration:
/etc/cloudservices/googleanalytics
- Titel:
My First GA Config
Välj Konfiguration av Google Analytics och klicka Skapa.
- Överordnad konfiguration:
-
Ange Konto-ID, till exempel
AA-11111111-1
. Klicka OK. -
Navigera till en sida och lägg till den nya konfigurationen i sidegenskaperna, under Cloud Services -fliken.
-
Den anpassade koden läggs till på sidan.
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