Sie sehen sich Hilfeinhalte der folgenden Version an:

Die standardmäßigen Cloud-Services können durch individuelle Cloud-Services erweitert werden. So können Sie auf strukturierte Weise eigenes Markup in die Seite einfügen. Diese Funktion ist hauptsächlich für externe Analyseanbieter hilfreich, z. B. Google Analytics, Chartbeat usw.
Cloud-Services werden von übergeordneten Seiten auf untergeordnete Seiten übernommen. Dabei kann die Übernahme auf jeder Ebene unterbrochen werden.

Hinweis:

In dieser Schritt-für-Schritt-Anleitung zum Erstellen eines neuen Cloud-Service wird Google Analytics als Beispiel verwendet. Einige Informationen treffen auf Ihren Anwendungsfall möglicherweise nicht zu.

  1. Erstellen Sie in CRXDE Lite einen neuen Knoten unter /apps:

    • Name: acs
    • Typ: nt:folder
  2. Erstellen Sie einen neuen Knoten unter /apps/acs:

    • Name: analytics
    • Typ: sling:Folder
  3. Erstellen Sie zwei neue Knoten unter /apps/acs/analytics:

    • Name: components
    • Typsling:Folder
    und
    • Name: templates
    • Typsling:Folder

  4. Klicken Sie mit der rechten Maustaste auf /apps/acs/analytics/components. Wählen Sie Erstellen... und dann Komponente erstellen... aus. Im Dialogfeld, das sich öffnet, können Sie Folgendes angeben:

    • Beschriftung: googleanalyticspage
    • Titel: Google Analytics Page
    • Supertyp: cq/cloudserviceconfigs/components/configpage
    • Gruppe: .hidden
  5. Klicken Sie zweimal auf Weiter und geben Sie Folgendes an:

    • Zugelassene übergeordnete Elemente: acs/analytics/templates/googleanalytics

    Klicken Sie zweimal auf Weiter und anschließend auf OK.

  6. Fügen Sie googleanalyticspage eine Eigenschaft hinzu:

    • Name: cq:defaultView
    • Wert: html 
  7. Erstellen Sie eine neue Datei mit dem Namen content.jsp unter /apps/acs/analytics/components/googleanalyticspage mit dem folgenden Inhalt:

    <%@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. Erstellen Sie einen neuen Knoten unter /apps/acs/analytics/components/googleanalyticspage/:

    • Name: dialog
    • Typ: cq:Dialog
    • Eigenschaften
      • Name: title
      • Typ: String
      • Wert: Google Analytics Config

       

      • Namextype
      • TypString
      • Wertdialog
  9. Erstellen Sie einen neuen Knoten unter /apps/acs/analytics/components/googleanalyticspage/dialog:

    • Name: items
    • Typ: cq:Widget
    • Eigenschaften
      • Name: xtype
      • Typ: String
      • Wert: tabpanel
  10. Erstellen Sie einen neuen Knoten unter /apps/acs/analytics/components/googleanalyticspage/dialog/items:

    • Name: items
    • Typ: cq:WidgetCollection
  11. Erstellen Sie einen neuen Knoten unter /apps/acs/analytics/components/googleanalyticspage/dialog/items/items:

    • Name: tab1
    • Typ: cq:Panel
    • Eigenschaften
      • Name: title
      • Typ: String
      • Wert:Config
  12. Erstellen Sie einen neuen Knoten unter /apps/acs/analytics/components/googleanalyticspage/dialog/items/items/tab1:

    • Name: items
    • Typ: nt:unstructured
    • Eigenschaften
      • Name:fieldLabel
      • Typ: String
      • Wert: Account ID

       

      • NamefieldDescription
      • TypString
      • WertDie von Google zugewiesene Konto-ID. Sie hat normalerweise die Form UA-NNNNNN-N

       

      • Namename
      • TypString
      • Wert./accountID

       

      • NamevalidateOnBlur
      • TypString
      • Werttrue

       

      • Namextype
      • TypString
      • Werttextfield
  13. Kopieren Sie /libs/cq/cloudserviceconfigs/components/configpage/body.jsp nach /apps/acs/analytics/components/googleanalyticspage/body.jsp, ändern Sie libs in Zeile 34 in apps und ändern Sie die Skriptreferenz in Zeile 79 in einen vollständig qualifizierten Pfad.

  14. Erstellen Sie eine neue Vorlage unter /apps/acs/analytics/templates/:

    • mit Ressourcentyp = acs/analytics/components/googleanalyticspage
    • mit Beschriftung = googleanalytics
    • mit Titel Google Analytics Configuration
    • mit allowedPath = /etc/cloudservices/googleanalytics(/.*)?
    • mit allowedChildren = /apps/acs/analytics/templates/googleanalytics
    • mit sling:resourceSuperType = cq/cloudserviceconfigs/templates/configpage (im Vorlagenknoten, nicht im jcr:content-Knoten)
    • mit cq:designPath = /etc/designs/cloudservices/googleanalytics (in jcr:content)
  15. Erstellen Sie eine neue Komponente: /apps/acs/analytics/components/googleanalytics.

    Fügen Sie den folgenden Inhalt zu googleanalytics.jsp hinzu:

    <%@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' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();
    
    </script><%
        }
    }
    %>

    Dadurch sollte das benutzerdefinierte Markup basierend auf den Konfigurationseigenschaften ausgegeben werden.

  16. Navigieren Sie zu http://localhost:4502/miscadmin#/etc/cloudservices und erstellen Sie eine neue Seite:

    • Titel: Google Analytics
    • Name: googleanalytics
    Gehen Sie in CRXDE Lite zurück und fügen Sie unter /etc/cloudservices/googleanalytics die folgende Eigenschaft zu jcr:content hinzu:
    • NamecomponentReference
    • Typ: String
    • Wertacs/analytics/components/googleanalytics
  17. Navigieren Sie zur neu erstellten Service-Seite (http://localhost:4502/etc/cloudservices/googleanalytics.html) und klicken Sie auf +, um eine neue Konfiguration zu erstellen:

    • Übergeordnete Konfiguration: /etc/cloudservices/googleanalytics
    • Titel: My First GA Config 
    Wählen Sie Google Analytics Configuration und klicken Sie auf Erstellen.
  18. Geben Sie eine Konto-ID ein, z. B. AA-11111111-1. Klicken Sie auf OK.

  19. Navigieren Sie zu einer Seite und fügen Sie die neu erstellte Konfiguration in den Seiteneigenschaften unter der Registerkarte Cloud-Services hinzu.

  20. Das benutzerdefinierte Markup wird der Seite hinzugefügt.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie