Sidmallar - statiska page-templates-static
En mall används för att skapa en sida och definierar vilka komponenter som kan användas i det valda omfånget. En mall är en hierarki med noder som har samma struktur som den sida som ska skapas, men utan något verkligt innehåll.
Varje mall innehåller ett urval av komponenter som är tillgängliga för användning.
- Mallar består av komponenter;
- Komponenterna använder, och tillåter åtkomst till, widgetar och dessa används för att återge innehållet.
Egenskaper och underordnade noder för en mall properties-and-child-nodes-of-a-template
En mall är en nod av typen cq:Template och har följande egenskaper och underordnade noder:
En mall är grunden för en sida.
Om du vill skapa en sida måste mallen kopieras (nodträd /apps/<myapp>/template/<mytemplate>
) till motsvarande position i platsträdet: detta händer om en sida skapas med fliken Webbplatser .
Den här kopieringsåtgärden ger även sidan dess ursprungliga innehåll (vanligtvis innehåll på översta nivån) och egenskapen sling:resourceType, sökvägen till sidkomponenten som används för att återge sidan (allt i den underordnade noden jcr:content).
Hur mallar är strukturerade how-templates-are-structured
Det finns två aspekter att tänka på:
- mallens struktur
- strukturen för det innehåll som skapas när en mall används
Strukturen i en mall the-structure-of-a-template
En mall skapas under en nod av typen cq:Template.
Du kan ange olika egenskaper, särskilt:
- jcr:title - mallens rubrik visas i dialogrutan när du skapar en sida.
- jcr:description - beskrivning av mallen; visas i dialogrutan när du skapar en sida.
Den här noden innehåller en jcr:content-nod (cq:PageContent) som används som bas för innehållsnoden på de resulterande sidorna. Den här referensen använder sling:resourceType, den komponent som ska användas för återgivning av det faktiska innehållet på en ny sida.
Den här komponenten används för att definiera innehållets struktur och design när en ny sida skapas.
Innehållet som skapas av en mall the-content-produced-by-a-template
Mallar används för att skapa sidor av typen cq:Page
(som tidigare nämnts är en sida en särskild typ av komponent). Varje AEM har en strukturerad nod jcr:content
. Det:
- är av typen cq:PageContent
- är en strukturerad nodtyp som innehåller en definierad innehållsdefinition
- har egenskapen
sling:resourceType
som refererar till komponenten som innehåller de snedskriftsskript som används för återgivning av innehållet
Standardmallar default-templates
AEM levereras med olika standardmallar som är tillgängliga direkt. Ibland kanske du vill använda mallarna som de är. I så fall måste du se till att mallen är tillgänglig för din webbplats.
AEM innehåller till exempel flera mallar, inklusive en innehållssida och en hemsida.
Visa standardmallar displaying-default-templates
Om du vill se en lista över alla mallar i databasen gör du så här:
-
Öppna menyn Verktyg i CRXDE Lite och klicka på Fråga.
-
På fliken Fråga
-
Som typ väljer du XPath.
-
Ange följande sträng i indatafältet Fråga:
//element(*, cq:Template) -
Klicka på Kör. Listan visas i resultatrutan.
Oftast skapar du en befintlig mall och skapar en ny för eget bruk. Mer information finns i Utveckla sidmallar.
Om du vill aktivera en befintlig mall för webbplatsen och du vill att den ska visas i dialogrutan Skapa sida när du skapar en sida direkt under Webbplatser från konsolen Webbplatser anger du egenskapen allowedPaths för mallnoden till: /content(/).*)?
Hur malldesigner används how-template-designs-are-applied
När format definieras i användargränssnittet med designläget, behålls designen med den exakta sökvägen för den innehållsnod som formatet definieras för.
Om designer endast används i designläge gäller inte följande avsnitt, Design Path Resolution, Decision Tree och Example.
Design Path-upplösning design-path-resolution
När du återger innehåll baserat på en statisk mall försöker AEM tillämpa den mest relevanta designen och formaten på innehållet baserat på en genomgång i innehållshierarkin.
AEM avgör vilket format som är mest relevant för en innehållsnod i följande ordning:
- Om det finns en design för den fullständiga och exakta sökvägen för innehållsnoden (som när designen definieras i designläge) använder du den designen.
- Om det finns en design för den överordnade noden ska du använda den designen.
- Om det finns en design för en nod på innehållsnodens sökväg använder du den designen.
Om det finns mer än en tillämplig design i de två sista fallen använder du den som ligger närmast noden content.
Beslutsträd decision-tree
Detta är en grafisk representation av logiken för Design Path Resolution .
Exempel example
Här följer en enkel innehållsstruktur där en design kan användas på alla noder:
/root/branch/leaf
I följande tabell beskrivs hur AEM väljer en design.
Utveckla sidmallar developing-page-templates
AEM är helt enkelt modeller som används för att skapa sidor. De kan innehålla så lite, eller så mycket, initialt innehåll som behövs, och deras roll är att skapa rätt initiala nodstrukturer, med de nödvändiga egenskaperna (främst sling:resourceType) inställda för redigering och återgivning.
Skapa en mall (baserad på en befintlig mall) creating-a-new-template-based-on-an-existing-template
En ny mall kan skapas helt från början, men ofta kopieras en befintlig mall i stället och uppdateras för att spara tid och arbete. Mallarna i Geometrixx kan till exempel användas för att hjälpa dig komma igång.
Så här skapar du en mall baserad på en befintlig mall:
-
Kopiera en befintlig mall (helst med en definition som ligger så nära den du vill uppnå) till en ny nod.
Mallar lagras i /appar/.
note note NOTE Listan med tillgängliga mallar beror på den nya sidans plats och de placeringsbegränsningar som anges i respektive mall. Se Malltillgänglighet. -
Ändra jcr:title för den nya mallnoden så att den återspeglar dess nya roll. Du kan även uppdatera jcr:description om det behövs. Var noga med att ändra malltillgängligheten för sidan efter behov.
note note NOTE Om du vill att mallen ska visas i dialogrutan Skapa sida när du skapar en sida direkt under Webbplatser från konsolen Webbplatser anger du egenskapen allowedPaths
för mallnoden till:/content(/.*)?
-
Kopiera komponenten som mallen baseras på (detta anges av egenskapen sling:resourceType för noden jcr:content i mallen) för att skapa en instans.
Komponenter lagras i /apps/<webbplatsnamn>/components/<komponentnamn>.
-
Uppdatera den nya komponentens jcr:title och jcr:description.
-
Ersätt thumbnail.png om du vill att en ny miniatyrbild ska visas i mallurvalslistan (storlek 128 x 98 px).
-
Uppdatera noden sling:resourceType för mallens jcr:content så att den refererar till den nya komponenten.
-
Gör ytterligare ändringar av mallens funktionalitet eller design, eller av dess underliggande komponent, eller både och.
note note NOTE Ändringar som görs i noden /apps/<webbplats>/templates/ påverkar mallinstansen (som i urvalslistan). Ändringar som görs i noden /apps/<webbplats>/components/<komponentnamn> påverkar innehållssidan som skapas när mallen används. Nu kan du skapa en sida på webbplatsen med den nya mallen.
cq.shared
finns på innehållssidorna, och om det saknas returneras JavaScript-felet Uncaught TypeError: Cannot read property 'shared' of undefined
.cq.shared
, så allt innehåll som baseras på dem inkluderar automatiskt cq.shared
. Om du vill skapa egna innehållssidor från grunden utan att basera dem på exempelinnehåll måste du se till att inkludera namnutrymmet cq.shared
.Göra en befintlig mall tillgänglig making-an-existing-template-available
I det här exemplet visas hur du tillåter att en mall används för vissa innehållssökvägar. Mallarna som är tillgängliga för sidförfattaren när sidor skapas avgörs av logiken som definieras i Malltillgänglighet.
-
I CRXDE Lite går du till den mall som du vill använda för sidan, till exempel mallen Nyhetsbrev.
-
Ändra egenskapen
allowedPaths
och andra egenskaper som används för malltillgänglighet.allowedPaths
:/content/geometrixx-outdoors/[^/]+(/.*)?
betyder till exempel att den här mallen tillåts i alla sökvägar under/content/geometrixx-outdoors
.