Skapa en anpassad Cloud Service creating-a-custom-cloud-service

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.

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.

NOTE
Den här steg-för-steg-guiden för att skapa en ny Cloud Service är ett exempel på hur du använder Google Analytics. Allt kanske inte gäller ditt användningsfall.
  1. Skapa en ny nod under CRXDE Lite /apps:

    • Namn: acs
    • Typ: nt:folder
  2. Skapa en ny nod under /apps/acs:

    • Namn: analytics
    • Typ: sling:Folder
  3. Skapa 2 nya noder under /apps/acs/analytics:

    • Namn: komponenter
    • Typ: sling:Folder

    och

    • Namn: mallar
    • Typ: sling:Folder
  4. 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
  5. Klicka Nästa två gånger och ange:

    • Tillåtna överordnade: acs/analytics/templates/googleanalytics

    Klicka Nästa två gånger och klicka OK.

  6. Lägg till en egenskap i googleanalyticspage:

    • Namn: cq:defaultView
    • Värde: html
  7. Skapa en ny fil med namnet content.jsp under /apps/acs/analytics/components/googleanalyticspage, med följande innehåll:

    code language-xml
    <%@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>
    
  8. 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
  9. Skapa en ny nod under /apps/acs/analytics/components/googleanalyticspage/dialog:

    • Namn: items

    • Typ: cq:Widget

    • Egenskaper:

      • Namn: xtype
      • Typ: String
      • Värde: tabpanel
  10. Skapa en ny nod under /apps/acs/analytics/components/googleanalyticspage/dialog/items:

    • Namn: items
    • Typ: cq:WidgetCollection
  11. 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
  12. 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

  13. Kopiera /libs/cq/cloudserviceconfigs/components/configpage/body.jsp till /apps/acs/analytics/components/googleanalyticspage/body.jsp och ändra libs till apps på rad 34 och göra skriptreferensen på rad 79 till en fullständigt kvalificerad sökväg.

  14. 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)
  15. Skapa ny komponent: /apps/acs/analytics/components/googleanalytics.

    Lägg till följande innehåll i googleanalytics.jsp:

    code language-xml
    <%@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.

  16. 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/googleanalyticslägger du till följande egenskap i jcr:content:

    • Namn: componentReference
    • Typ: String
    • Värde: acs/analytics/components/googleanalytics
  17. 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.

  18. Ange Konto-ID, till exempel AA-11111111-1. Klicka OK.

  19. Navigera till en sida och lägg till den nya konfigurationen i sidegenskaperna, under Cloud Services -fliken.

  20. Den anpassade koden läggs till på sidan.

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