Sidmallar - statiska
- Ämnen:
- Developing
Skapat för:
- Developer
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 visar ett urval av komponenter som är tillgängliga för användning.
- Mallar är inbyggda i 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
En mall är en nod av typen cq:Template och har följande egenskaper och underordnade noder:
Namn | Typ | Beskrivning |
. | cq:Template | Aktuell mall. En mall är av nodtypen cq:Template. |
allowedChildren | Sträng[] | Sökväg till en mall som kan vara underordnad den här mallen. |
allowedParents | Sträng[] | Sökväg till en mall som kan vara överordnad den här mallen. |
allowedPaths | Sträng[] | Sökväg till en sida som kan baseras på den här mallen. |
jcr:skapad | Datum | Datum när mallen skapades. |
jcr:description | Sträng | Beskrivning av mallen. |
jcr:title | Sträng | Mallens namn. |
rankning | Lång | Mallens rangordning. Används för att visa mallen i användargränssnittet. |
jcr:innehåll | cq:PageContent | Nod som innehåller mallens innehåll. |
thumbnail.png | nt:fil | Mallens miniatyrbild. |
icon.png | nt:fil | Mallens ikon. |
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: det här är vad som händer om en sida skapas med Webbplatser -fliken.
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
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
En mall skapas under en nod av typen cq:Template.
Du kan ange olika egenskaper, särskilt:
- jcr:title - Mallens titel. visas i dialogrutan när du skapar en sida.
- jcr:description - En 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, med sling:resourceType, den komponent som ska användas för att återge 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
Mallar används för att skapa sidor av typen cq:Page
(som tidigare nämnts är en sida en speciell 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 en egenskap
sling:resourceType
för att referera till komponenten som innehåller de snedskript som används för återgivning av innehållet
Standardmallar
AEM levereras med ett antal standardmallar som är tillgängliga direkt. I vissa fall 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.
Titel | Komponent | Plats | Syfte |
---|---|---|---|
Hemsida | hemsida | geometrixx | Geometrixx hemsidmall. |
Innehållssida | innehållsida | geometrixx | Innehållssidmallen för Geometrixx. |
Visa standardmallar
Om du vill se en lista över alla mallar i databasen gör du så här:
-
Öppna CRXDE Lite i verktyg meny och klicka Fråga.
-
På fliken Fråga
-
Som Typ, markera XPath.
-
I Fråga indatafält, ange följande sträng:
//element(*, cq:Template)
-
Klicka Kör. Listan visas i resultatrutan.
I de flesta fall tar du en befintlig mall och skapar en ny för eget bruk. Se Utveckla sidmallar för mer information.
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 Webbplatser konsol anger du egenskapen allowedPaths för mallnoden till: /content(https://experienceleague.adobe.com/.*?lang=sv)?
Hur malldesigner används
När format definieras i användargränssnittet med Designläge, sparas designen på den exakta sökvägen till den innehållsnod som formatet definieras för.
Om du bara använder designläge ska du följa följande avsnitt: Design Path-upplösning, Beslutsträdoch Exempel är inte tillämpliga.
Design Path-upplösning
När du återger innehåll baserat på en statisk mall försöker AEM att använda den mest relevanta designen och formaten på innehållet baserat på en genomgång av 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
Detta är en grafisk representation av Design Path-upplösning logik.
Exempel
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.
Söker efter design för | Det finns design för | Design vald | Kommentar |
leaf |
| leaf | Den mest exakta matchningen används alltid. |
leaf |
| branch | Gå tillbaka till närmaste träff i trädet. |
leaf | root | root | Om allt annat misslyckas, ta det som återstår. |
branch | branch | branch | |
branch |
| branch | |
branch |
| branch | |
branch |
| root |
Om det inte finns någon exakt matchning tar du den längre ned i trädet. Antagandet är att detta alltid kommer att vara tillämpligt, men vidare kan trädet vara för specifikt. |
Utveckla sidmallar
AEM är helt enkelt modeller som används för att skapa nya 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 ny mall (baserad på en befintlig mall)
Det behöver inte sägas att en ny mall kan skapas helt från grunden, men ofta kopieras och uppdateras en befintlig mall för att spara både 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 ny 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 vanligtvis i /apps/<website-name>/templates/<template-name>.
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 för att återspegla dess nya roll. Du kan även uppdatera jcr:description vid behov. Var noga med att ändra malltillgängligheten för sidan efter behov.
NOTE
Om du vill att mallen ska visas i Skapa sida när du skapar en sida direkt under Webbplatser från Webbplatser konsol, angeallowedPaths
mallnodens egenskap till:/content(/.*)?
-
Kopiera komponenten som mallen baseras på (anges av sling:resourceType egenskapen för jcr:innehåll -nod i mallen) för att skapa en ny instans.
Komponenterna lagras vanligtvis i /apps/<website-name>/components/<component-name>.
-
Uppdatera jcr:title och jcr:description för den nya komponenten.
-
Ersätt thumbnail.png om du vill att en ny miniatyrbild ska visas i mallurvalslistan (storlek 128 x 98 px).
-
Uppdatera sling:resourceType av mallens jcr:innehåll nod som refererar till den nya komponenten.
-
Gör ytterligare ändringar av mallens och/eller dess underliggande komponenters funktionalitet eller utformning.
NOTE
Ändringar i /apps/<website>/templates/<template-name> -noden påverkar mallinstansen (som i urvalslistan).
Ändringar i /apps/<website>/components/<component-name> -noden 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
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.
Göra en befintlig mall tillgänglig
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 nya sidor skapas bestäms 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
allowedPaths
egenskap och andra egenskaper som används för malltillgänglighet. Till exempel:allowedPaths
:/content/geometrixx-outdoors/[^/]+(/.*)?
betyder att den här mallen tillåts i alla sökvägar under/content/geometrixx-outdoors
.
Experience Manager
- Utveckla användarhandboken - översikt
- Introduktion för utvecklare
- Komma igång med utveckling i AEM Sites – WKND-självstudiekurs
- AEM kärnbegrepp
- Struktur för det AEM användargränssnittet med pekskärm
- Koncepten i det AEM användargränssnittet med pekskärm
- AEM - riktlinjer och bästa praxis
- Använda bibliotek på klientsidan
- Developing and Page Diff
- Begränsningar för redigerare
- CSRF Protection Framework
- Datamodellering - David Nueschelers modell
- Bidrar till AEM
- Dokumentskydd
- Referensmaterial
- Skapa en webbplats med alla funktioner (Classic UI)
- Designer och Designer (Classic UI)
- Plattform
- Fusklapp för Sling
- Använda Sling-adaptrar
- Taggbibliotek
- Mallar
- Använda Sling Resource Merger i AEM
- Övertäckningar
- Namnkonventioner
- Skapa en ny GRE-fältkomponent
- Query Builder
- Taggar
- Anpassa sidor som visas av felhanteraren
- Anpassade nodtyper
- Lägga till teckensnitt för grafikåtergivning
- Ansluta till SQL-databaser
- Extern URL
- Skapa och använda jobb för avlastning
- Konfigurerar cookie-användning
- Så här programmässigt kommer du åt AEM JCR
- Integrera tjänster med JMX-konsolen
- Developing the Bulk Editor
- Utveckla rapporter
- eCommerce
- Komponenter
- Kärnkomponenter
- Formatsystem
- Komponenter - översikt
- AEM - Grunderna
- Utveckla AEM
- Utveckla AEM - kodexempel
- JSON-exporterare för innehållstjänster
- Aktivera JSON-export för en komponent
- Bildredigeraren
- Dekoration-tagg
- Använda Dölj villkor
- Konfigurera flera redigerare på plats
- Utvecklarläge
- Testa användargränssnittet
- Komponenter för innehållsfragment
- Hämta sidinformation i JSON-format
- Internationalisering
- Klassiska gränssnittskomponenter
- Headless Experience Management
- Headless och Hybrid with AEM
- Aktivera JSON-export för en komponent
- Enkelsidiga program
- SPA introduktion och genomgång
- SPA WKND - självstudiekurs
- Getting Started with SPA in AEM - React
- Komma igång med SPA i AEM - Angular
- Implementera en React Component for SPA
- SPA djupdykning
- SPA
- Utveckla SPA för AEM
- SPA Blueprint
- SPA
- Dynamisk mappning av modell till komponent för SPA
- SPA
- SPA och Adobe Experience Platform Launch Integration
- SPA- och serveråtergivning
- SPA referensmaterial
- HTTP-API
- Innehållsfragment
- Experience Fragments
- Utvecklingsverktyg
- Utvecklingsverktyg
- AEM Modernization Tools
- Dialogruteredigeraren
- Verktyget Dialogkonvertering
- Utveckla med CRXDE Lite
- Hantera paket med Maven
- Utveckla AEM projekt med Eclipse
- Skapa AEM projekt med Apache Maven
- Utveckla AEM projekt med IntelliJ IDEA
- Så här använder du VLT-verktyget
- Så här använder du proxyserververktyget
- AEM Brackets Extension
- AEM Developer Tools for Eclipse
- AEM
- Personanpassning
- Utöka AEM
- Anpassa sidredigering
- Anpassa konsolerna
- Anpassa vyer av Sidegenskaper
- Konfigurera din sida för gruppredigering av sidegenskaper
- Anpassa och utöka Content Fragments
- Utöka arbetsflöden
- Utöka Multi Site Manager
- Spårning och analys
- Cloud Services
- Skapa anpassade tillägg
- Forms
- Integrera tjänster med JMX-konsolen
- Developing the Bulk Editor
- Utöka Classic UI
- Testning
- Bästa praxis
- Mobil webb