Mallar templates
Mallar används vid olika tillfällen i AEM:
-
När du skapar en sida väljer du en mall. Den här mallen används som bas för den nya sidan. Mallen definierar sidans struktur, allt initialt innehåll och de komponenter som kan användas (designegenskaper).
-
När du skapar ett innehållsfragment väljer du även en mall. Den här mallen definierar strukturen, initiala element och variationer.
Följande mallar beskrivs i detalj:
Mallar - Sidor templates-pages
AEM har nu två grundläggande typer av mallar för att skapa sidor:
Redigerbara mallar editable-templates
Redigerbara mallar anses nu vara de bästa sätten att utveckla med AEM.
Fördelarna med redigerbara mallar:
-
Har introducerats för att du ska kunna definiera följande för alla sidor som skapas med mallen:
- strukturen
- det ursprungliga innehållet
- innehållsprinciper
-
När den nya sidan har skapats upprätthålls en dynamisk anslutning mellan sidan och mallen. Den här anslutningen innebär att ändringar i mallstrukturen återspeglas på alla sidor som skapas med den mallen. Ändringar av det ursprungliga innehållet återspeglas inte.
-
Innehållsprinciper (redigerade från mallredigeraren) används för att bevara designegenskaperna (designläget används inte i sidredigeraren).
-
lagras under
/conf
-
Mer information finns i Redigerbara mallar.
Statiska mallar static-templates
Statiska mallar:
- Måste definieras och konfigureras av utvecklarna.
- Det ursprungliga mallsystemet för AEM som har varit tillgängligt för många versioner.
- En statisk mall är en hierarki med noder som har samma struktur som den sida som ska skapas, men utan något faktiskt innehåll.
- Kopieras för att skapa sidan och det finns ingen dynamisk anslutning därefter.
- Använder designläge för att behålla designegenskaper.
- lagras under
/apps
- Mer information finns i Statiska mallar.
Malltillgänglighet template-availability
-
endast egenskapen
cq:allowedTemplates
-
endast i platsroten
/content/we-retail/jcr:content
allowedPaths
, allowedParents
och allowedChildren
kan också placeras i mallarna för att definiera mer avancerade regler. Om det är möjligt är det mycket enklare att definiera ytterligare cq:allowedTemplates
egenskaper för underavsnitt på platsen om det finns behov av att begränsa de tillåtna mallarna ytterligare.cq:allowedTemplates
-egenskaperna kan uppdateras av en författare på fliken Avancerat i Sidegenskaper. De andra mallegenskaperna kan inte uppdateras med (standard) användargränssnittet, så behöver en utvecklare för att behålla reglerna och en koddistribution för varje ändring.När du skapar en sida i webbplatsens administratörsgränssnitt beror listan med tillgängliga mallar på platsen för den nya sidan och de placeringsbegränsningar som anges i varje mall.
Följande egenskaper avgör om mallen T
används för en ny sida som ska placeras som underordnad till sidan P
. Var och en av dessa egenskaper är en sträng med flera värden som innehåller noll eller flera reguljära uttryck som används för matchning med sökvägar:
-
Egenskapen
cq:allowedTemplates
förjcr:content
-undernoden tillP
eller en överordnad tillP
. -
Egenskapen
allowedPaths
förT
. -
Egenskapen
allowedParents
förT
. -
Egenskapen
allowedChildren
för mallen förP
.
Utvärderingen fungerar enligt följande:
-
Den första icke-tomma
cq:allowedTemplates
-egenskapen som påträffades när sidhierarkin som börjar medP
överskreds matchas mot sökvägen förT
. Om inget av värdena matchar avvisasT
. -
Om
T
har enallowedPaths
-egenskap som inte är tom, men inget av värdena matchar sökvägen förP
, avvisasT
. -
Om båda ovanstående egenskaper är tomma eller inte finns, avvisas
T
om den inte tillhör samma program somP
.T
tillhör samma program somP
om och bara om namnet på den andra nivån i sökvägenT
är detsamma som namnet på den andra nivån i sökvägenP
. Mallen/apps/geometrixx/templates/foo
tillhör till exempel samma program som sidan/content/geometrixx
. -
Om
T
har enallowedParents
-egenskap som inte är tom, men inget av värdena matchar sökvägen förP
, avvisasT
. -
Om mallen för
P
har enallowedChildren
-egenskap som inte är tom, men inget av värdena matchar sökvägen förT
, avvisasT
. -
I alla andra fall tillåts
T
.
I följande diagram visas mallutvärderingsprocessen:
Begränsa mallar som används på underordnade sidor limiting-templates-used-in-child-pages
Om du vill begränsa vilka mallar som kan användas för att skapa underordnade sidor under en viss sida använder du egenskapen cq:allowedTemplates
för noden jcr:content
för att ange listan med mallar som ska tillåtas som underordnade sidor. Varje värde i listan måste vara en absolut sökväg till en mall för en tillåten underordnad sida, till exempel /apps/geometrixx/templates/contentpage
.
Du kan använda egenskapen cq:allowedTemplates
på mallens jcr:content
-nod om du vill att den här konfigurationen ska tillämpas på alla nyskapade sidor som använder den här mallen.
Om du vill lägga till fler begränsningar, till exempel för mallhierarkin, kan du använda egenskaperna allowedParents/allowedChildren
i mallen. Du kan sedan uttryckligen ange att sidor som skapats från en mall T måste vara överordnade/underordnade sidor till sidor som skapats från en mall T.
Mallar - Innehållsfragment templates-content-fragments
Se Mallar för innehållsfragment.