Come posso limitare i componenti in AEM 5.6.1 che possono essere utilizzati in un particolare parsys di un modello senza selezionarli in modalità progettazione?Limita i componenti in AEM 5.6.1
risposta
In CRXDE, sotto /etc/designs/[your design]/jcr:content
, è possibile definire i nodi per rappresentare ciascuno dei vostri modelli & loro paragrafi & lista del componenti consentiti per ciascuno.
Il formato è un nodo per ogni modello che contiene un nodo per ogni parsys (entrambi [nt:unstructured]
).
Il nodo parsys ha quindi un valore sling:resourceType
definito da foundation/components/parsys
e una proprietà String[]
components
. Per un esempio, verificare come quello Geometrixx è definito: http://localhost:4502/crx/de/index.jsp#/etc/designs/geometrixx/jcr%3Acontent/contentpage/par
È quindi possibile estrarre questo via VLT, che viene memorizzato sotto forma di file .content.xml
sotto etc/designs/[your design]
.
In alternativa, è possibile creare tale file anche a mano. Per esempio. ciò che segue definirà "Il tuo progetto" come un permesso per i componenti "testo" e "immagine" predefiniti nel paragrafo "yourParsys" di "yourTemplate".
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
xmlns:cq="http://www.day.com/jcr/cq/1.0"
xmlns:jcr="http://www.jcp.org/jcr/1.0"
xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
jcr:primaryType="cq:Page">
<jcr:content
cq:template="/libs/wcm/core/templates/designpage"
jcr:primaryType="cq:PageContent"
jcr:title="You Design">
<yourTemplate jcr:primaryType="nt:unstructured">
<yourParsys
jcr:primaryType="nt:unstructured"
sling:resourceType="foundation/components/parsys"
components="[foundation/components/text,foundation/components/image]"/>
</yourTemplate>
</jcr:content>
</jcr:root>
Questo permette di spostare questo file tra le istanze (ad esempio, quando si distribuisce un pacchetto CRX) in modo che non si dispone di configurare ambienti singolarmente & quali componenti sono permessi dove può anche essere gestito da versione controllo.
È possibile impostare la proprietà genitori consentita per il componente di limitare in cui un componente è utilizzato ad esempio, allowedParents="[*/parsys]"
L'unico modo in cui posso pensare di farlo è creare un nuovo componente parsys che estenda semplicemente quello esistente con sling: resourceSuperType. Quindi utilizzare la proprietà allowedParents sul componente e specificare i parsys specifici. Infine usa i tuoi parsys specifici sul modello di pagina in questione. Non ho ancora provato questo, ma ho mantenuto l'idea nella mia tasca posteriore. Fammi sapere se funziona.
- 1. Limita i percorsi in base all'ambiente
- 2. ResourceResolverFactory getServiceResourceResolver getta Eccezione in AEM 6.1
- 3. Limita l'accesso all'assembly .NET?
- 4. Limita i puntatori e la sottolineatura
- 5. Limita i tipi in Java per l'utilizzo in un elenco
- 6. Come procedere sui selettori persistenti nei collegamenti in CQ5/AEM
- 7. Distribuzione di AEM con Maven (Errore)
- 8. Differenza tra nt: folder, sling: folder & sling: orderedflder in AEM?
- 9. Dipinto sopra i componenti in Swing?
- 10. Collegare i componenti a GroupBox in C#
- 11. Come posizionare i componenti in posizioni specifiche?
- 12. Limita la query in CursorLoader
- 13. Componenti Adobe CQ che limitano i componenti secondari
- 14. Come attraversare tutti i componenti React compresi i componenti DOM senza TestUtils.findAllInRenderedTree?
- 15. Perché i componenti in reazione devono essere in maiuscolo?
- 16. Limita Javascript da PHP?
- 17. posizione Componenti in cerchio
- 18. Limita scorrimento MKMapView
- 19. Generics che limita i tipi di Int, doppio, lungo
- 20. cljs Om interoperabilità con i componenti React?
- 21. DataGridView limita l'input utente
- 22. Come interpretare i componenti LDA (usando sklearn)?
- 23. Perché controllare i componenti del bower?
- 24. Rendering Reagire i componenti con WebWorkers
- 25. Limita il risultato in jQuery Autocomplete
- 26. Come strutturare i componenti/contenitori Redux
- 27. AfterRender funziona con i componenti Knockout?
- 28. Impossibile modificare i componenti XNA Vector
- 29. Come posizionare i componenti con GridBagLayout?
- 30. Quali sono i migliori componenti di Boost?
c'è un modo per limitare quanti componenti possono essere rilasciati in 'yourParsys'? Ad esempio, voglio che uno e solo un 'foundation/components/text' sia trascinabile in esso e nient'altro. – Behrang
Nessun modo semplice che ho trovato. Potresti essere in grado di sovrapporre un file JS all'interno del sidekick e fare un controllo su insert? O incorporare il componente direttamente nel modello con una casella di controllo per mostrare/nascondere. Ad essere onesti però, questi sono il tipo di cose che sono più facilmente risolte dalle linee guida editoriali rispetto allo sforzo di sviluppo. – anotherdave
@Behrang Esiste, ma richiede l'override del componente di parsys predefinito OPPURE l'implementazione di un filtro di richiesta per eliminare i nodi in eccesso. Il modo giusto di gestire ciò dipenderà davvero dai requisiti del core business. – Rampant