Redigerbara mallar har lagts till:
Tillåt att specialiserade författare skapa och redigera mallar.
template-authors
grupp.Tillhandahåll mallar som behåller en dynamisk anslutning till alla sidor som skapas från dem. Om du gör det ser du till att alla ändringar i mallen återspeglas på själva sidorna.
Gör sidkomponenten mer generisk så att kärnsideskomponenten kan användas utan anpassning.
Med redigerbara mallar isoleras de delar som utgör en sida inuti komponenterna. Du kan konfigurera nödvändiga kombinationer av komponenter i ett användargränssnitt så att du slipper skapa en ny sidkomponent för varje sidvariant.
Statiska mallar finns också.
Det här dokumentet:
Ger en översikt över hur du skapar redigerbara mallar
Beskriver de admin-/utvecklaråtgärder som krävs för att skapa redigerbara mallar
Beskriver de tekniska grunderna för redigerbara mallar
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.
Följande självstudiekurs kan också vara intressant för att konfigurera en redigerbar sidmall i ett nytt projekt:
Komma igång med AEM Sites del 2 - Skapa en bassida och mall
Skapa redigerbara mallar 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å.
Mer information om hur du använder redigerbara mallar i ett AEM projekt finns i Skapa ett AEM projekt med Lazybone.
När du skapar en ny redigerbar mall:
Skapa en mapp för mallarna. Den här mappen är inte obligatorisk, men rekommenderas.
Välj en malltyp. Den här typen kopieras för att skapa malldefinition.
Du kan välja mellan olika malltyper direkt. Du kan också skapa egna webbplatsspecifika malltyper, om det behövs.
Konfigurera den nya mallens struktur, innehållsprinciper, ursprungliga innehåll och layout.
Struktur
Strukturen gör att du kan definiera komponenter och innehåll för mallen.
Komponenter som definieras i mallstrukturen kan inte flyttas till en resultatsida eller tas bort från eventuella resultatsidor.
We.Retail
exempelinnehåll kan du välja Foundation Components eller använda Kärnkomponenter.Om du vill att sidförfattare ska kunna lägga till och ta bort komponenter lägger du till ett styckesystem i mallen.
Komponenter kan låsas upp och låsas igen så att du kan definiera ursprungligt innehåll.
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 profiler gäller för mallen (och sidor som skapas med mallen).
Mer information om hur en mallskapare definierar principer finns i Skapa sidmallar.
Om du vill ha teknisk information om policyer går du till Innehållsprinciper 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 måste internationaliseras i en mall. För internalisering lokaliseringsfunktion 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. Om den inte finns resulterar det i JavaScript-felet Uncaught TypeError: Cannot read property 'shared' of undefined
.
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:
Även om du kan kapsla dina mappar när de visas i Mallar konsolen som visas som en platt struktur.
I en AEM standardinstans global mappen finns i mallkonsolen. Den här mappen 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 mapp (rekommenderas).
Det är bäst att skapa en mapp som innehåller dina anpassade mallar och inte använda den globala mappen.
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.
Så här skapar du en mapp:
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]
Namn: jcr:title
Typ: String
Värde: Den rubrik (för mappen) som du vill ska visas i Mallar konsol.
I addition till standardbehörigheter (t.ex. content-authors
), tilldelar grupper och definierar de åtkomstbehörigheter som krävs för att författarna ska kunna skapa mallar i den nya mappen.
The template-authors
grupp är standardgrupp som måste tilldelas. Se följande avsnitt Behörighetslistor och grupper för mer information.
Se Behörighetshantering för fullständig information om hur du hanterar och tilldelar åtkomsträttigheter.
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 konfigurationsläsaren kan du redigera den globala mappen och aktivera Redigerbara mallar om du vill skapa mallar i den här mappen. Denna metod rekommenderas dock inte.
Se Konfigurationsläsaren mer information.
När mallmapparna har skapats (antingen med CRXDE eller med Configuration Browser) måste åtkomstkontrollistor definieras för rätt grupper för mallmapparna för att säkerställa att de är skyddade.
Mallmappar för We.Retail
referensimplementering 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
gruppen är endast för användare som måste kunna skapa mallar.
Att redigera mallar är kraftfullt och om det inte görs på rätt sätt kan befintliga mallar brytas. Därför bör denna roll vara inriktad 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 | replicateInnehå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 en sida aktiveras | |
/conf/<site>/settings/template-types |
Mallförfattare | read | Mallförfattare skapar en mall baserad på en av de fördefinierade malltyperna. |
Anonym webbanvändare | ingen | 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 det finns ett behov av flera mallskapargrupper för att åtskilja mallarna, måste fler anpassade mallskapargrupper skapas. Behörigheterna för mallförfattargrupperna är dock fortfarande desamma.
Lagra inte mallar i /conf/global
. För vissa äldre installationer kan det dock fortfarande finnas mallar på den här platsen. Endast i sådana äldre situationer bör följande /conf/global
sökvägar konfigureras explicit.
Bana | Roll/grupp | Behörigheter |
Beskrivning |
---|---|---|---|
/conf/global/settings/wcm/templates |
Mallförfattare | läsa, skriva, replikera | Mallförfattare som skapar, läser, uppdaterar, tar bort och replikerar mallar i /conf/global |
Anonym webbanvändare | read | En anonym webbanvändare måste läsa mallar när en sida återges | |
Innehållsförfattare | replikera | Innehållsförfattare måste aktivera sidmallarna när en sida aktiveras | |
/conf/global/settings/wcm/policies |
Template Author |
läsa, skriva, replikera | Mallförfattare som skapar, läser, uppdaterar, tar bort och replikerar mallar i /conf/global |
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 en sida aktiveras | |
/conf/global/settings/wcm/template-types |
Mallförfattare | read | Mallförfattare skapar en mall baserad på en av de fördefinierade malltyperna |
Anonym webbanvändare | ingen | En anonym webbanvändare får inte komma åt malltyperna |
När du skapar en mall anger du en malltyp:
Malltyper tillhandahåller effektivt mallar för en mall. När du skapar en mall används strukturen och det ursprungliga innehållet för den valda malltypen för att skapa mallen.
Med malltyper kan du definiera:
AEM innehåller ett litet urval av färdiga malltyper som HTML5 Page och Adaptive Form Page.
We.Retail
exempelinnehåll.Malltyper definieras vanligtvis av utvecklare.
Malltyperna som inte finns lagrade under:
/libs/settings/wcm/template-types
Ändra ingenting i dialogrutan /libs
bana. Orsaken är att innehållet i /libs
skrivs över nästa gång du uppgraderar din instans (och kan skrivas över när du använder en snabbkorrigering eller ett funktionspaket).
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 respektera rätt mappstruktur (d.v.s. /settings/wcm/...
), annars går det inte att hitta malltyperna.
The enhetsgrupper används för en redigerbar mall (anges som relativ sökväg för egenskapen) cq:deviceGroups
) definierar vilka mobila enheter som är tillgängliga som emulatorer i layoutläge för att skapa sidor. Det här värdet kan anges på två platser:
När du skapar en ny redigerbar mall kopieras värdet från malltypen till den enskilda mallen. Om värdet inte anges för typen kan det anges i mallen. När en mall har skapats finns det inget arv från typen till mallen.
Värdet för cq:deviceGroups
måste anges som en relativ sökväg som mobile/groups/responsive
och inte som en absolut sökväg som /etc/mobile/groups/responsive
.
Med statiska mallar, värdet av cq:deviceGroups
kan anges i platsens rot.
Med redigerbara mallar lagras det här värdet nu på mallnivå och stöds inte på sidrotnivån.
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:
Namn: jcr:title
Namn: status
Typ: String
Värde: draft
, enabled
, eller disabled
Definierar strukturen för den resulterande sidan:
Sammanfogas med det ursprungliga innehållet ( /initial
) när du skapar en 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 är tillgängliga på den resulterande sidan.
Komponenter som definieras i mallstrukturen kan inte flyttas eller tas bort från resultatsidor.
När en komponent har låsts upp visas editable
egenskapen är inställd på true
.
När en komponent som redan innehåller innehåll har låsts upp, flyttas innehållet till initial
gren.
The cq:responsive
noden innehåller definitioner för den responsiva layouten.
Definierar det ursprungliga innehåll som en ny sida har när den skapas:
jcr:content
nod som kopieras till nya sidor./structure
) när du skapar en sida.root
noden innehåller en lista med komponenter som definierar vad som är tillgängliga på den resulterande sidan.När när du redigerar en mall kan du definiera layoutenanvänds responsiv standardlayout som också kan konfigurerad.
Innehållets (eller designens) profiler definierar designegenskaperna för en komponent, till exempel komponentens tillgänglighet eller min-/maxmått. Dessa profiler 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. The cq:policy
innehåller en relativ referens till själva konfigurationen.
Sidor som skapas från redigerbara mallar har inte något designläge i sidredigeraren.
The policies
-trädet i en redigerbar mall har samma hierarki som designlägeskonfigurationen för en statisk mall under:
/etc/designs/<my-site>/jcr:content/<component-name>
Konfiguration av designläge för en statisk mall har definierats per sidkomponent.
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 sökvägarna för tillåtna mallar på Sidegenskaper på rätt sida eller rotsida i en undergren.
Ange egenskapen:
cq:allowedTemplates
På jcr:content
noden för den begärda grenen.
Med 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. Du kan uppnå den här funktionaliteten med jcr:content
nod med egenskaperna:
cq:template
Innehåller den dynamiska referensen till den faktiska mallen; gör att malländringarna kan återspeglas på de faktiska sidorna.
cq:templateType
Anger en referens till malltypen.
Diagrammet ovan visar hur mallar, innehåll och komponenter samverkar:
Styrenhet - /content/<my-site>/<my-page>
Den resulterande sidan som refererar till mallen. Innehållet styr hela processen. Enligt definitionerna får den åtkomst till rätt mall och komponenter.
Konfiguration - /conf/<my-folder>/settings/wcm/templates/<my-template>
The mallar och relaterade innehållsprinciper definiera sidkonfigurationen.
Modell - OSGi bundles The OSGI-paket implementera funktionen.
Visa - /apps/<my-site>/components
I både författar- och publiceringsmiljöer återges innehållet av komponenter.
När en sida återges:
Mallar:
cq:template
egenskap för dess jcr:content
noden refereras till för att komma åt mallen som motsvarar den sidan.Komponenter:
Sidkomponenten sammanfogar structure/jcr:content
mallens träd med jcr:content
sidans träd.
Sidkomponenten tillåter bara författaren att redigera noderna i mallstrukturen som har flaggats som redigerbara (och eventuella underordnade noder).
När en komponent återges på en sida hämtas den relativa sökvägen från jcr:content
nod; samma sökväg under policies/jcr:content
-noden i mallen söks sedan igenom.
The cq:policy
den här nodens egenskap pekar på den faktiska innehållsprincipen (d.v.s. den innehåller komponentens designkonfiguration).
Med den här funktionen kan du ha flera mallar som återanvänder samma innehållsprincipkonfigurationer.