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 ursprungligt innehåll och 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
-
Se Redigerbara mallar för ytterligare information.
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ändningsområden Designläge för att behålla designegenskaper.
- lagras under
/apps
- Se Statiska mallar för ytterligare information.
Malltillgänglighet template-availability
-
endast
cq:allowedTemplates
property -
endast i platsroten
/content/we-retail/jcr:content
allowedPaths
, allowedParents
och allowedChildren
kan också placeras i mallar för att definiera mer avancerade regler. Men om möjligt är det mycket enklare att definiera cq:allowedTemplates
egenskaper på underavsnitt av platsen om det finns behov av att ytterligare begränsa de tillåtna mallarna.cq:allowedTemplates
kan uppdateras av en författare i Avancerat -fliken 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 en mall 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:
-
The
cq:allowedTemplates
egenskapen förjcr:content
undernod tillP
eller en överordnad tillP
. -
The
allowedPaths
egenskap förT
. -
The
allowedParents
egenskap förT
. -
The
allowedChildren
egenskap för mallen förP
.
Utvärderingen fungerar enligt följande:
-
Den första som inte är tom
cq:allowedTemplates
egenskap påträffades när sidhierarkin skulle ökas frånP
matchas mot sökvägen förT
. Om inget av värdena matchar,T
avvisas. -
If
T
har ett värde som inte är tomtallowedPaths
-egenskapen, men inget av värdena matchar sökvägen förP
,T
avvisas. -
Om båda ovanstående egenskaper är tomma eller inte finns,
T
avvisas om det inte tillhör samma program somP
.T
tillhör samma program somP
if och only if the name of the second level of the path ofT
är samma som namnet på den andra nivån i sökvägen förP
. Mallen/apps/geometrixx/templates/foo
tillhör samma program som sidan/content/geometrixx
. -
If
T
har ett värde som inte är tomtallowedParents
-egenskapen, men inget av värdena matchar sökvägen förP
,T
avvisas. -
Om mallen för
P
har ett värde som inte är tomtallowedChildren
-egenskapen, men inget av värdena matchar sökvägen förT
,T
avvisas. -
I alla andra fall
T
är tillåtet.
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 cq:allowedTemplates
egenskap för jcr:content
nod på sidan 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 cq:allowedTemplates
på mallens jcr:content
nod som 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 för mallhierarkin kan du använda allowedParents/allowedChildren
-egenskaper 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.