När du skapar en sida måste du välja en mall. Sidmallen används som bas för den nya sidan. Mallen definierar strukturen för den resulterande sidan, allt ursprungligt innehåll och de komponenter som kan användas (designegenskaper). Detta har flera fördelar:
template-authors
grupp.Med Sidmallar isoleras de delar som utgör en sida i komponenterna. Du kan konfigurera nödvändiga kombinationer av komponenter i ett användargränssnitt, vilket eliminerar behovet av att utveckla en ny sidkomponent för varje sidvariant.
Det här dokumentet:
Det här dokumentet förutsätter att du redan är bekant med att skapa och redigera mallar. Se redigeringsdokumentet Skapa sidmallar, som beskriver funktionerna i redigerbara mallar så som de visas för mallskaparen.
WKND-självstudiekursen fördjupar sig i hur du använder sidmallar genom att implementera ett exempel och är mycket användbart för att förstå hur du konfigurerar en mall i ett nytt projekt
Skapa sidmallar görs i första hand med mallkonsol och mallredigerare av en mallskapare. I det här avsnittet ges en översikt över processen och en beskrivning av vad som händer på teknisk nivå.
När du skapar en ny redigerbar mall:
Skapa en mapp för mallarna. Detta är inte obligatoriskt, men vi rekommenderar bästa praxis.
Välj en malltyp. Detta kopieras för att skapa malldefinition.
Ett urval av malltyper finns färdiga. Du kan också skapa egna webbplatsspecifika malltyper vid behov.
Konfigurera den nya mallens struktur, innehållsprinciper, ursprungliga innehåll och layout.
Struktur
Mer information om hur en mallskapare definierar strukturen finns i Skapa sidmallar.
För teknisk information om strukturen, se Struktur i det här dokumentet.
Profiler
Innehållsprinciperna definierar designegenskaperna för en komponent.
Dessa gäller för mallen (och sidor som skapas med mallen).
Mer information om hur en mallskapare definierar principer finns i Skapa sidmallar.
Teknisk information om profiler finns i Innehållsprofiler i det här dokumentet.
Ursprungligt innehåll
Mer information om hur en mallskapare definierar strukturen finns i Skapa sidmallar.
Teknisk information om ursprungligt innehåll finns på Ursprungligt innehåll i det här dokumentet.
Layout
Mer information om hur en mallskapare definierar mallayouten finns i Skapa sidmallar.
Mer teknisk information om mallayout finns i Layout i det här dokumentet.
Aktivera mallen och tillåt den sedan för specifika innehållsträd.
Mer information om hur en mallskapare aktiverar en mall finns i Skapa sidmallar.
Teknisk information om hur du aktiverar en mall finns i Aktivera och tillåta en mall för osse i det här dokumentet
Använd det för att skapa innehållssidor.
Mer information om hur en sidförfattare använder mallar för att skapa en sida finns i Skapa och ordna sidor.
Teknisk information om hur du skapar sidor med redigerbara mallar finns i Gällande innehållssidor i det här dokumentet.
Ange aldrig någon information som behöver internationaliseras i en mall. För internalisering lokaliseringsfunktioner för kärnkomponenterna rekommenderas.
Mallar är kraftfulla verktyg som effektiviserar arbetsflödet för att skapa sidor. Alltför många mallar kan överbelasta författarna och göra det förvirrande att skapa sidor. En bra tumregel är att hålla antalet mallar under 100.
Adobe rekommenderar inte att ha fler än 1 000 mallar på grund av potentiella prestandaeffekter.
Redigerarens klientbibliotek förutsätter att det finns cq.shared
namnutrymme på innehållssidor och om det inte finns något JavaScript-fel Uncaught TypeError: Cannot read property 'shared' of undefined
blir resultatet.
Alla exempelinnehållssidor innehåller cq.shared
så allt innehåll som baseras på dem automatiskt innehåller cq.shared
. Om du däremot bestämmer dig för att skapa egna innehållssidor från grunden utan att basera dem på exempelinnehåll måste du se till att inkludera cq.shared
namnutrymme.
Se Använda bibliotek på klientsidan för ytterligare information.
Du kan använda följande mappar för att ordna dina mallar:
global
Även om du kan kapsla dina mappar när de visas i Mallar konsolen som visas som en platt struktur.
I en AEM global
mappen finns redan i mallkonsolen. Detta innehåller standardmallar och fungerar som reserv om inga principer och/eller malltyper hittas i den aktuella mappen. Du kan lägga till dina standardmallar i den här mappen eller skapa en ny mapp (rekommenderas).
Det är bäst att skapa en ny mapp för dina anpassade mallar och inte använda global
mapp.
Mappar måste skapas av en användare med admin
rättigheter.
Malltyper och profiler ärvs i alla mappar enligt följande prioritetsordning:
/conf/global
/apps
/libs
En lista över alla tillåtna poster skapas. Om några konfigurationer överlappar ( path
/ label
) visas bara den instans som ligger närmast den aktuella mappen för användaren.
Om du vill skapa en ny mapp kan du göra det här:
En ny mapp (under /conf) kan skapas för din instans antingen programmatiskt eller med CRXDE Lite.
Följande struktur måste användas:
/conf
<your-folder-name> [sling:Folder]
settings [sling:Folder]
wcm [cq:Page]
templates [cq:Page]
policies [cq:Page]
Du kan sedan definiera följande egenskaper på mappens rotnod:
<your-folder-name> [sling:Folder]
jcr:title
String
Förutom de vanliga redigeringsbehörigheterna och -behörigheterna (till exempel content-authors
) måste du nu tilldela grupper och definiera de åtkomstbehörigheter som krävs för att författarna ska kunna skapa mallar i den nya mappen.
The template-authors
grupp är standardgruppen som måste tilldelas. Se avsnittet Behörighetslistor och grupper för mer information.
Gå till Global navigering -> verktyg > Konfigurationsläsaren.
De befintliga mapparna visas till vänster, inklusive global
mapp.
Klicka Skapa.
I Skapa konfiguration måste följande fält konfigureras:
Klicka Skapa
I Configuration Browser, kan du redigera den globala mappen och aktivera Redigerbara mallar om du vill skapa mallar i den här mappen, men detta är inte den bästa metoden.
När mallmapparna har skapats (antingen via CRXDE eller med Configuration Browser) måste åtkomstkontrollistor definieras för rätt grupper för mallmapparna för att säkerställa rätt säkerhet.
Mallmappar för WKND, genomgång kan användas som exempel.
The template-authors
grupp är den grupp som används för att hantera åtkomst till mallar och levereras som standard med AEM, men är tom. Användare måste läggas till i gruppen för projektet/webbplatsen.
The template-authors
grupp är bara avsedd för användare som måste kunna skapa nya mallar.
Att redigera mallar är mycket kraftfullt och om det inte görs på rätt sätt kan befintliga mallar brytas. Därför bör denna roll fokuseras och endast omfatta kvalificerade användare.
Följande tabell visar vilka behörigheter som krävs för mallredigering.
Bana | Roll/grupp | Behörigheter |
Beskrivning |
---|---|---|---|
/conf/<your-folder>/settings/wcm/templates |
Mallförfattare |
läsa, skriva, replikera | Mallförfattare som skapar, läser, uppdaterar, tar bort och replikerar mallar i platsspecifika /conf space |
Anonym webbanvändare | read | En anonym webbanvändare måste läsa mallar när en sida återges | |
Innehållsförfattare | replikera | replikateInnehållsförfattare måste aktivera sidans mallar när en sida aktiveras | |
/conf/<your-folder>/settings/wcm/policies |
Template Author |
läsa, skriva, replikera | Mallförfattare som skapar, läser, uppdaterar, tar bort och replikerar mallar i platsspecifika /conf space |
Anonym webbanvändare | read | En anonym webbanvändare måste läsa principer när en sida återges | |
Innehållsförfattare | replikera | Innehållsförfattare måste aktivera profilerna för en sidmall när de aktiverar en sida | |
/conf/<site>/settings/template-types |
Mallförfattare | read | Mallförfattare skapar en ny mall baserad på en av de fördefinierade malltyperna. |
Anonym webbanvändare | inga | En anonym webbanvändare får inte komma åt malltyperna |
Den här standardinställningen template-authors
gruppen täcker endast projektinställningarna, där alla template-authors
-medlemmar har åtkomst till och kan redigera alla mallar. För mer komplexa konfigurationer, där flera mallförfattargrupper behövs för att separera åtkomsten till mallar, måste fler anpassade mallskapargrupper skapas. Behörigheterna för mallförfattargrupperna är dock fortfarande desamma.
När du skapar en ny mall måste du ange en malltyp:
Malltyper tillhandahåller effektivt mallar för en mall. När du skapar en ny mall används strukturen och det ursprungliga innehållet för den valda malltypen för att skapa till den nya mallen.
Med malltyper kan du definiera:
AEM innehåller ett litet urval av färdiga malltyper som HTML5 Page och Adaptive Form Page.
Malltyper definieras vanligtvis av utvecklare.
Malltyperna som inte finns lagrade under:
/libs/settings/wcm/template-types
Du får inte ändra något i /libs
bana. Detta beror på innehållet i /libs
kan skrivas över när som helst genom en uppdatering till AEM.
Platsspecifika malltyper bör lagras på samma plats som:
/apps/settings/wcm/template-types
Definitioner för dina anpassade malltyper bör lagras i användardefinierade mappar (rekommenderas) eller alternativt i global
. Till exempel:
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/template-types
/conf/<my-folder>/settings/wcm/template-types
/conf/global/settings/wcm/template-types
Malltyperna måste ta hänsyn till rätt mappstruktur (dvs. /settings/wcm/...
), annars går det inte att hitta malltyperna.
Om du har skapat en mall som kan användas som bas för andra mallar kan du kopiera den här mallen som en malltyp.
templates
nod till template-types
noden under mallmapp.templates
noden under mallmapp.template-types
nod, ta bort alla cq:template
och cq:templateType
egenskaper från alla jcr:content
noder.Du kan också utveckla en egen malltyp med en exempelredigerbar mall som bas, som finns på GitHub.
KOD PÅ GITHUB
Koden för den här sidan finns på GitHub
Definitioner för redigerbara mallar sparas användardefinierade mappar (rekommenderas) eller global
. Till exempel:
/conf/<my-folder>/settings/wcm/templates
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/templates
/conf/global/settings/wcm/templates
Mallens rotnod är av typen cq:Template
med en skelettstruktur på
<template-name>
initial
jcr:content
root
<component>
...
<component>
jcr:content
@property status
policies
jcr:content
root
@property cq:policy
<component>
@property cq:policy
...
<component>
@property cq:policy
structure
jcr:content
root
<component>
...
<component>
cq:responsive
breakpoints
thumbnail.png
Huvudelementen är:
<template-name>
[initial](#initial-content)
jcr:content
[structure](#structure)
[policies](#policies)
thumbnail.png
Den här noden innehåller egenskaper för mallen:
jcr:title
status
String
draft
, enabled
eller disabled
Definierar strukturen för den resulterande sidan:
Sammanfogas med det ursprungliga innehållet ( /initial
) när du skapar en ny sida.
Ändringar som görs i strukturen återspeglas i alla sidor som skapas med mallen.
The root
( structure/jcr:content/root
)-noden definierar listan med komponenter som ska vara tillgängliga på den resulterande sidan.
editable
egenskapen är inställd på true
.initial
förgrening.The cq:responsive
noden innehåller definitioner för den responsiva layouten.
Definierar det ursprungliga innehåll som en ny sida kommer att ha när den skapas:
jcr:content
nod som kopieras till nya sidor./structure
) när du skapar en ny sida.root
noden innehåller en lista med komponenter för att definiera vad som ska vara tillgängligt på den resulterande sidan.När redigera en mall kan du definiera layoutenanvänds responsiv standardlayout.
Innehållsprinciperna definierar designegenskaperna för en komponent. Till exempel de tillgängliga komponenterna eller minimi-/maximidimensionerna. Dessa gäller för mallen (och sidor som skapas med mallen). Du kan skapa och välja innehållsprinciper i mallredigeraren.
Egenskapen cq:policy
, på root
nod
/conf/<your-folder>/settings/wcm/templates/<your-template>/policies/jcr:content/root
Ger en relativ referens till innehållsprincipen för sidans styckesystem.
Egenskapen cq:policy
, på de komponentspecifika noderna under root
, innehåller länkar till profilerna för de enskilda komponenterna.
De faktiska principdefinitionerna lagras under:
/conf/<your-folder>/settings/wcm/policies/wcm/foundation/components
Sökvägarna för principdefinitioner beror på komponentens sökväg. cq:policy
innehåller en relativ referens till själva konfigurationen.
Med sidprofiler kan du definiera innehållsprincip för sidan (huvudparametrar), antingen i mallen eller på de resulterande sidorna.
Aktivera mallen
Innan en mall kan användas måste den aktiveras av något av följande:
Aktivera mallen från Mallar konsol.
Ställa in egenskapen status på jcr:content
nod.
På:
/conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
Definiera egenskapen:
enabled
Tillåtna mallar
Definiera tillåtna mallsökvägar på Sidegenskaper av rätt sida eller rotsida i en underavdelning.
Ange egenskapen:
cq:allowedTemplates
På
jcr:content
noden för den begärda grenen.
Med till exempel värdet:
/conf/<your-folder>/settings/wcm/templates/.*
Sidor skapade från redigerbara mallar:
Skapas med ett underträd som sammanfogas från structure
och initial
i mallen
Har referenser till information som finns i mallen och malltypen. Detta uppnås med en jcr:content
nod med egenskaperna:
cq:template
- innehåller en dynamisk referens till den faktiska mallen, gör att ändringar i mallen kan återspeglas på de faktiska sidorna.
cq:templateType
- Tillhandahåller en referens till malltypen.
Diagrammet ovan visar hur mallar, innehåll och komponenter samverkar:
/content/<my-site>/<my-page>
- Den resulterande sidan som refererar till mallen. Innehållet styr hela processen. Enligt definitionerna har den åtkomst till rätt mall och komponenter./conf/<my-folder>/settings/wcm/templates/<my-template>
- mallar och relaterade innehållsprinciper definiera sidkonfigurationen./apps/<my-site>/components
- I både författar- och publiceringsmiljöer återges innehållet av komponenter.Vid återgivning av en sida:
Mallar:
cq:template
egenskap för dess jcr:content
Noden kommer att refereras till för att komma åt mallen som motsvarar den sidan.Komponenter:
structure/jcr:content
mallens träd med jcr:content
sidans träd.
jcr:content
nod; samma bana under policies/jcr:content
-noden i mallen söks sedan igenom.
cq:policy
den här nodens egenskap pekar på den faktiska innehållsprincipen (d.v.s. den innehåller komponentens designkonfiguration).
När du skapar en ny 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
får användas 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ör jcr:content
undernod till P
eller en överordnad till P
.
The allowedPaths
egenskap för T
.
The allowedParents
egenskap för T
.
The allowedChildren
egenskap för mallen för P
.
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ån P
matchas mot sökvägen för T
. Om inget av värdena matchar, T
avvisas.
If T
har ett värde som inte är tomt allowedPaths
-egenskapen, men inget av värdena matchar sökvägen för P
, T
avvisas.
Om båda ovanstående egenskaper är tomma eller inte finns, T
avvisas om det inte tillhör samma program som P
. T
tillhör samma program som P
om och bara om namnet på den andra nivån i sökvägen för T
är samma som namnet på den andra nivån i sökvägen för P
. Mallen /apps/wknd/templates/foo
tillhör samma program som sidan /content/wknd
.
If T
har ett värde som inte är tomt allowedParents
-egenskapen, men inget av värdena matchar sökvägen för P
, T
avvisas.
Om mallen för P
har ett värde som inte är tomt allowedChildren
-egenskapen, men inget av värdena matchar sökvägen för T
, T
avvisas.
I alla andra fall T
är tillåtet.
I följande diagram visas mallutvärderingsprocessen:
AEM har flera egenskaper som styr mallarna under Webbplatser. En kombination av dem kan dock leda till mycket komplexa regler som är svåra att spåra och hantera.
Därför rekommenderar Adobe att du börjar enkelt genom att definiera:
endast cq:allowedTemplates
property
endast i platsroten
Se till exempel WKND, genomgång innehåll: /content/wknd/jcr:content
Egenskaperna allowedPaths
, allowedParents
och allowedChildren
kan också placeras i mallar för att definiera mer avancerade regler. Men när det är möjligt är det mycket enklare att definiera cq:allowedTemplates
egenskaper för underavsnitt av webbplatsen om det finns behov av att ytterligare begränsa de tillåtna mallarna.
Ytterligare en fördel är att 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.
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/wknd/templates/page-content
.
Du kan använda cq:allowedTemplates
-egenskap i 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, till exempel 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.