2015-09-17 6 views
6

ich migrieren klassische ui dialogs zu berühren ui dialogs, migrierte ich die übergeordnete komponente dialog, beobachtete ich AEM zeigt die übergeordnete dialog tabs und eigenschaften in der untergeordneten komponente auch. In den bestehenden klassischen ui-Dialogen erbt es nicht die Elterneigenschaften, während es in der Berührung ui tut.wie cq: dialog vererbung zu verhindern

Wie erreichen wir das gleiche klassische ui Verhalten in Touch ui auch durch Verhindern der Dialogvererbung.

Bitte teilen Sie Details mit, wenn jemand Informationen zu diesem Problem hat.

Antwort

11

Sie können die Eigenschaft sling:hideChildren verwenden, um vererbte Registerkarten und Eigenschaften auszublenden. Zum Beispiel, sagen wir, Sie die geerbten permissions und cloudservices Tabs verstecken wollte, und passen Sie die basic und advanced Registerkarten:

... 
<items jcr:primaryType="nt:unstructured"> 
    <tabs 
     ...> 
     <layout 
      .../> 
     <items 
      jcr:primaryType="nt:unstructured" 
      sling:hideChildren="[permissions,cloudservices]"> 
      <basic 
       .../> 
      <advanced 
       .../> 
     </items> 
    </tabs> 
</items> 
... 
+0

Dank Bruce hat diese Konfiguration das Problem der Vererbung in der Anwendung behoben. Ich habe Ihre Hilfe zur Lösung dieses Problems sehr geschätzt. –

+0

Hallo Bruce, nach der Implementierung der obigen Konfiguration, die Schleuder: hideChildren versteckt alle Kinder Knoten darunter und das gleiche wird in den Kind-Komponenten repliziert. Aber dadurch versteckt es alle seine Kinderknoten für sich selbst. Dies löst nur einen Teil des Problems, aber das Problem bleibt bestehen. –

+0

Ich habe es gelöst mit der Schleuder: hideChildren selbst in jeder einzelnen Komponente, so dass es ein wenig Arbeit, aber das behebt das Problem, das ich konfrontiert war. Ich frage mich immer noch, ob wir eine globale Umgebung haben, um das zu tun. –

6

Sling Ressource Zusammenführen mit AEM docs können here finden. Sehen Sie in den Dokumenten nach, wie die Ressourcen zusammengeführt werden und wie Sie verschiedene Eigenschaften bearbeiten können.

Die Ressource Fusion bietet die folgenden Eigenschaften:

Schlinge: hideProperties (String oder String []) die Eigenschaft Gibt oder eine Liste von Eigenschaften, zu verbergen. Der Platzhalter * blendet alle aus.

sling: hideResource (Boolean) Gibt an, ob die Ressourcen einschließlich ihrer untergeordneten Elemente vollständig ausgeblendet werden sollen.

Schlinge: hideChildren (String oder String []) Enthält die untergeordneten Knoten oder Liste der untergeordneten Knoten, zu verbergen. Die Eigenschaften des Knotens werden beibehalten. Der Platzhalter * blendet alle aus.

sling: orderBefore (Zeichenfolge) Enthält den Namen des Geschwisterknotens, vor dem der aktuelle Knoten positioniert werden soll.

Diese Eigenschaften haben Einfluss darauf, wie die entsprechenden/ursprünglichen Ressourcen/Eigenschaften (von/libs) vom Overlay/Override (häufig in/apps) verwendet werden.

+0

Danke Ben, diese Konfiguration kann getan werden, wie Bruce im obigen Beitrag vorgeschlagen hat., Danke, dass Sie mir geholfen haben, die Entschlossenheit zu finden. –

1
+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert – slfan

2

das Hinzufügen

Schlinge: hideChildren Eigenschaft

zum Dialogfeld der untergeordneten Komponente.

Sie können diese Eigenschaft dem unmittelbaren übergeordneten Element des bestimmten Feldsets/Tabs/Feldes hinzufügen, das Sie ausblenden möchten.

Syntax:

Name: Schlinge: hideChildren

Art der Immobilie: String oder String []

Eigenschaft Wert: Namen der unmittelbaren Kinder * verbirgt sie alle

Beispiel:

Um die alle Felder unter Register Eigenschaften des unter Dialog auszublenden:

<content 
    jcr:primaryType="nt:unstructured" 
    sling:resourceType="granite/ui/components/coral/foundation/container"> 
    <items jcr:primaryType="nt:unstructured"> 
     <fixedcolums 
      jcr:primaryType="nt:unstructured" 
      sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns"> 
      <items jcr:primaryType="nt:unstructured"> 
       <properties 
        jcr:primaryType="nt:unstructured" 
        sling:resourceType="granite/ui/components/coral/foundation/container"> 
        <items jcr:primaryType="nt:unstructured"> 
         <startLevel 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/numberfield" 
          ../> 
         <showHidden 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/checkbox" 
          ../> 
        </items> 
       </properties> 
      </items> 
     </fixedcolums> 
    </items> 
</content> 

fügen Sie die Schlinge: hideChildren Eigenschaft auf den unmittelbar übergeordneten Knoten, dh Elemente (siehe unten)

<content 
    jcr:primaryType="nt:unstructured" 
    sling:resourceType="granite/ui/components/coral/foundation/container"> 
    <items jcr:primaryType="nt:unstructured"> 
     <fixedcolums 
      jcr:primaryType="nt:unstructured" 
      sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns"> 
      <items jcr:primaryType="nt:unstructured" 
       sling:hideChildren="*"> 
       <properties 
        jcr:primaryType="nt:unstructured" 
        sling:resourceType="granite/ui/components/coral/foundation/container"> 
        <items jcr:primaryType="nt:unstructured"> 
         <startLevel 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/numberfield" 
          ../> 
         <showHidden 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/checkbox" 
          ../> 
        </items> 
       </properties> 
      </items> 
     </fixedcolums> 
    </items> 
</content> 

nur das Startlevel Feld zu verstecken, fügen Sie die Schlinge: hideChildren Eigenschaft auf den unmittelbar übergeordneten Knoten (siehe unten)

<content 
    jcr:primaryType="nt:unstructured" 
    sling:resourceType="granite/ui/components/coral/foundation/container"> 
    <items jcr:primaryType="nt:unstructured"> 
     <fixedcolums 
      jcr:primaryType="nt:unstructured" 
      sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns"> 
      <items jcr:primaryType="nt:unstructured"> 
       <properties 
        jcr:primaryType="nt:unstructured" 
        sling:resourceType="granite/ui/components/coral/foundation/container"> 
        <items jcr:primaryType="nt:unstructured" 
         sling:hideChildren="startLevel"> 
         <startLevel 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/numberfield" 
          ../> 
         <showHidden 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/checkbox" 
          ../> 
        </items> 
       </properties> 
      </items> 
     </fixedcolums> 
    </items> 
</content>