Paginasjablonen - Bewerkbaar page-templates-editable
Bewerkbare sjablonen zijn geïntroduceerd in:
-
Speciale auteurs toestaan sjablonen maken en bewerken.
- Dergelijke gespecialiseerde auteurs worden genoemd sjabloonauteurs
- Sjabloonauteurs moeten lid zijn van de
template-authors
groep.
-
Geef sjablonen op die een dynamische verbinding behouden met alle pagina's die van deze sjablonen zijn gemaakt. Zo zorgt u ervoor dat wijzigingen in de sjabloon ook op de pagina's zelf worden doorgevoerd.
-
Maak de paginacomponent generischer zodat kan de kernpaginacomponent zonder aanpassing worden gebruikt.
Met bewerkbare sjablonen worden de onderdelen die een pagina maken, geïsoleerd in componenten. U kunt de noodzakelijke combinaties componenten in een UI vormen, daardoor eliminerend de behoefte aan een nieuwe paginacomponent die voor elke paginariatie moet worden ontwikkeld.
Dit document:
-
Geeft een overzicht van het maken van bewerkbare sjablonen
- Zie voor meer informatie Paginasjablonen maken
-
Beschrijft de admin/ontwikkelaarstaken die worden vereist om editable malplaatjes tot stand te brengen
-
Beschrijft de technische onderbouwing van editable malplaatjes
In dit document wordt ervan uitgegaan dat u vertrouwd bent met het maken en bewerken van sjablonen. Zie het ontwerpdocument Paginasjablonen maken, waarin de mogelijkheden van bewerkbare sjablonen worden beschreven zoals deze aan de sjabloonauteur worden getoond.
Aan de slag met AEM Sites Deel 2 - Een basispagina en sjabloon maken
Een nieuwe sjabloon maken creating-a-new-template
Bewerkbare sjablonen maken wordt voornamelijk uitgevoerd met de opdracht sjabloonconsole en sjablooneditor door een sjabloonauteur. In deze paragraaf wordt een overzicht gegeven van dit proces en wordt een beschrijving gegeven van wat er op technisch niveau gebeurt.
Voor informatie over hoe te om editable malplaatjes in een AEM project te gebruiken zie Een AEM maken met behulp van Lazybones.
Bij het maken van een nieuwe bewerkbare sjabloon:
-
Een map voor de sjablonen. Dit is niet verplicht, maar aanbevolen beste praktijken.
-
Selecteer een sjabloontype. Deze wordt gekopieerd om de sjabloondefinitie.
note note NOTE Een selectie van sjabloontypen is beschikbaar buiten het vak. U kunt ook uw eigen sitespecifieke sjabloontypen maken indien nodig. -
Vorm de structuur, inhoudsbeleid, aanvankelijke inhoud, en lay-out van het nieuwe malplaatje.
Structuur
-
Met de structuur kunt u componenten en inhoud voor de sjabloon definiëren.
-
Componenten die in de sjabloonstructuur zijn gedefinieerd, kunnen niet op een resulterende pagina worden verplaatst of uit resulterende pagina's worden verwijderd.
- Als u een malplaatje in een douanemap buiten de wij.Retail steekproefinhoud creeert, kunt u de Componenten van de Stichting kiezen of gebruiken Kernonderdelen.
-
Als u wilt dat auteurs van pagina's componenten kunnen toevoegen en verwijderen, voegt u een alineasysteem toe aan de sjabloon.
-
Componenten kunnen worden ontgrendeld en opnieuw worden vergrendeld, zodat u de initiële inhoud kunt definiëren.
Zie voor meer informatie over de manier waarop een sjabloonauteur de structuur definieert Paginasjablonen maken.
Voor technische details van de structuur, zie Structuur in dit document.
Beleid
-
Het inhoudsbeleid definieert de ontwerpeigenschappen van een component.
- Bijvoorbeeld de beschikbare componenten of de minimum-/maximumafmetingen.
-
Deze zijn van toepassing op de sjabloon (en op pagina's die met de sjabloon zijn gemaakt).
Zie voor meer informatie over de manier waarop een sjabloonauteur beleid definieert Paginasjablonen maken.
Voor technische details van het beleid, zie Inhoudsbeleid in dit document.
Oorspronkelijke inhoud
- Met Eerste inhoud wordt inhoud gedefinieerd die wordt weergegeven wanneer een pagina voor het eerst wordt gemaakt op basis van de sjabloon.
- De initiële inhoud kan vervolgens worden bewerkt door auteurs van pagina's.
Zie voor meer informatie over de manier waarop een sjabloonauteur de structuur definieert Paginasjablonen maken.
Voor technische details over de initiële inhoud raadpleegt u Oorspronkelijke inhoud in dit document.
Layout
- U kunt de sjabloonlay-out voor een reeks apparaten definiëren.
- De responsieve indeling voor sjablonen werkt op dezelfde manier als voor het ontwerpen van pagina's.
Zie voor meer informatie over de manier waarop de sjabloonlay-out door de sjabloonauteur wordt gedefinieerd Paginasjablonen maken.
Voor technische details over de indeling van de template raadpleegt u Layout in dit document.
-
-
Schakel de sjabloon in en sta deze vervolgens toe voor specifieke inhoudstructuren.
- U kunt een sjabloon in- of uitschakelen om de sjabloon beschikbaar of niet beschikbaar te maken voor auteurs van pagina's.
- Een sjabloon kan beschikbaar worden gesteld of niet beschikbaar zijn voor bepaalde paginasvertakkingen.
Voor details over hoe een malplaatjeauteur een malplaatje toelaat, zie Paginasjablonen maken.
Voor technische details over het inschakelen van een sjabloon raadpleegt u Een sjabloon voor ons inschakelen en toestaane in dit document
-
Gebruik dit besturingselement om inhoudspagina's te maken.
- Wanneer u een sjabloon gebruikt om een nieuwe pagina te maken, is er geen zichtbaar verschil en is er geen indicatie tussen statische en bewerkbare sjablonen.
- Voor de auteur van de pagina is het proces transparant.
Zie voor meer informatie over hoe een auteur van een pagina sjablonen gebruikt om een pagina te maken Pagina's maken en ordenen.
Voor technische details over het maken van pagina's met bewerkbare sjablonen raadpleegt u Resulterende inhoudspagina's in dit document.
cq.shared
naamruimte in inhoudspagina's en als deze ontbreekt, de JavaScript-fout Uncaught TypeError: Cannot read property 'shared' of undefined
resulteert.cq.shared
, dus alle inhoud die erop is gebaseerd, omvat automatisch cq.shared
. Als u echter besluit zelf inhoudspagina's te maken zonder deze op voorbeeldinhoud te baseren, moet u ervoor zorgen dat u de cq.shared
naamruimte.Sjabloonmappen template-folders
Voor het organiseren van uw sjablonen kunt u de volgende mappen gebruiken:
-
globaal
-
Sitespecifiek
De sitespecifieke mappen die u maakt om uw sjablonen te organiseren, worden gemaakt met beheerdersrechten voor accounts.
In een standaardinstelling AEM globaal bestaat al in de sjabloonconsole. Dit houdt standaardmalplaatjes vast en doet dienst als reserve als geen beleid en/of malplaatje-types in de huidige omslag worden gevonden. U kunt uw standaardsjablonen toevoegen aan deze map of een nieuwe map maken (aanbevolen).
admin
rechten.Sjabloontypen en beleid worden in alle mappen overgeërfd volgens de volgende prioriteitsvolgorde:
- De huidige map.
- Bovenliggend item of bovenliggende items van de huidige map.
/conf/global
/apps
/libs
Er wordt een lijst met alle toegestane vermeldingen gemaakt. Als een van de configuraties elkaar overlappen ( path
/ label
), wordt alleen de instantie die zich het dichtst bij de huidige map bevindt, aan de gebruiker getoond.
Als u een nieuwe map wilt maken, kunt u het volgende doen:
- Programmaticaal of met CRXDE Lite
- De configuratiebrowser gebruiken
CRXDE Lite gebruiken using-crxde-lite
-
Een nieuwe omslag (onder /conf) kan voor uw instantie of programmatically of met CRXDE Lite worden gecreeerd.
De volgende structuur moet worden gebruikt:
code language-xml /conf <your-folder-name> [sling:Folder] settings [sling:Folder] wcm [cq:Page] templates [cq:Page] policies [cq:Page]
-
Vervolgens kunt u de volgende eigenschappen definiëren voor het hoofdknooppunt van de map:
<your-folder-name> [sling:Folder]
Naam:
jcr:title
- Type:
String
- Waarde: De titel (voor de map) die u wilt weergeven in het dialoogvenster Sjablonen console.
- Type:
-
In optellen volgens de standaardmachtigingen en -bevoegdheden voor het schrijven van programmacode (bv.
content-authors
) moet u nu groep(en) toewijzen en de vereiste toegangsrechten (ACL's) definiëren voor uw auteurs om sjablonen in de nieuwe map te kunnen maken.De
template-authors
groep is de standaardgroep die moet worden toegewezen. Zie de volgende sectie ACLs en Groepen voor meer informatie.Zie Toegangsbeheer voor volledige informatie over het beheren en toewijzen van toegangsrechten.
De configuratiebrowser gebruiken using-the-configuration-browser
-
Ga naar Algemene navigatie -> Gereedschappen > Configuratiebrowser.
De bestaande mappen worden links weergegeven, inclusief globaal map.
-
Klikken Maken.
-
In de Configuratie maken moeten de volgende velden worden geconfigureerd:
- Titel: Geef een titel op voor de configuratiemap
- Bewerkbare sjablonen: Tik om bewerkbare sjablonen toe te staan in deze map
-
Klikken Maken
ACLs en Groepen acls-and-groups
Zodra uw malplaatjeomslagen (of via CRXDE of met Browser van de Configuratie) worden gecreeerd, moet ACLs voor de aangewezen groepen voor de malplaatjeomslagen worden bepaald om juiste veiligheid te verzekeren.
De sjabloonmappen voor de We.Retail-referentieimplementatie kan als voorbeeld worden gebruikt.
De groep sjabloonauteurs the-template-authors-group
De template-authors
de groep is de groep wordt gebruikt om toegang tot malplaatjes te beheren en komt standaard met AEM, maar is leeg. Gebruikers moeten worden toegevoegd aan de groep voor het project of de site.
template-authors
groep is alleen voor gebruikers die nieuwe sjablonen moeten kunnen maken.In de volgende tabel worden de benodigde machtigingen voor sjabloonbewerking weergegeven.
Deze standaard template-authors
groep omvat alleen de projectinstellingen, waarbij alle template-authors
leden hebben toegang tot alle sjablonen en mogen deze ontwerpen . Voor complexere montages, waar de veelvoudige groepen van malplaatjeauteurs nodig zijn om toegang tot malplaatjes te scheiden, moeten meer de auteursgroepen van het douanemalplaatje worden gecreeerd. De machtigingen voor de groepen sjabloonauteurs zijn echter nog steeds hetzelfde.
Oudere sjablonen onder /conf/global legacy-templates-under-conf-global
Sjablonen mogen niet meer worden opgeslagen in /conf/global
Voor sommige oude installaties zijn er echter nog sjablonen op deze locatie. ALLEEN in dergelijke verouderde situaties dient het volgende te gebeuren: /conf/global
de wegen worden uitdrukkelijk gevormd.
Sjabloontype template-type
Wanneer u een nieuwe sjabloon maakt, moet u een sjabloontype opgeven:
-
Sjabloontypen bieden sjablonen voor een sjabloon. Wanneer u een nieuwe sjabloon maakt, worden de structuur en initiële inhoud van het geselecteerde sjabloontype gebruikt om aan de nieuwe sjabloon te maken.
- Het sjabloontype wordt gekopieerd om de sjabloon te maken.
- Zodra het exemplaar is voorgekomen, is de enige verbinding tussen het malplaatje en het malplaatjetype een statische verwijzing voor informatiedoeleinden.
-
Met sjabloontypen kunt u het volgende definiëren:
- Het middeltype van de paginacomponent.
- Het beleid van de wortelknoop, die de componenten bepaalt die in de malplaatjeredacteur worden toegestaan.
- Het wordt aanbevolen de onderbrekingspunten voor het responsieve raster en de instelling van de mobiele emulator op te geven voor het sjabloontype. Dit is optioneel omdat de configuratie ook op de afzonderlijke sjabloon kan worden gedefinieerd (zie Sjabloontype en mobiele apparaatgroepen).
-
AEM biedt een kleine selectie van sjabloontypen die buiten het vak vallen, zoals HTML5 Pagina en Aangepaste formulierpagina.
- Als onderdeel van het Wij.Detailhandel voorbeeldinhoud.
-
Sjabloontypen worden meestal gedefinieerd door ontwikkelaars.
De sjabloontypen voor de out-of-the-box worden opgeslagen onder:
/libs/settings/wcm/template-types
/libs
pad. Dit komt omdat de inhoud van /libs
wordt de volgende keer overschreven dat u een upgrade uitvoert van uw exemplaar (en kan worden overschreven wanneer u een hotfix- of functiepakket toepast).Uw sitespecifieke sjabloontypen moeten worden opgeslagen op de vergelijkbare locatie:
/apps/settings/wcm/template-types
De definities voor uw aangepaste malplaatjetypes zouden in user-defined omslagen (geadviseerd) of anders in moeten worden opgeslagen global
. Bijvoorbeeld:
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/template-types
/conf/<my-folder>/settings/wcm/template-types
/conf/global/settings/wcm/template-types
/settings/wcm/...
), anders worden de sjabloontypen niet gevonden.Sjabloontype en mobiele apparaatgroepen template-type-and-mobile-device-groups
De apparaatgroepen gebruikt voor een bewerkbare sjabloon (ingesteld als relatief pad van de eigenschap) cq:deviceGroups
) bepalen welke mobiele apparaten als emulators beschikbaar zijn in de lay-outmodus pagina's ontwerpen. Deze waarde kan op twee plaatsen worden ingesteld:
- Op het bewerkbare sjabloontype
- Op de bewerkbare sjabloon
Wanneer u een nieuwe bewerkbare sjabloon maakt, wordt de waarde van het sjabloontype naar de afzonderlijke sjabloon gekopieerd. Als de waarde niet op het type is ingesteld, kan deze in de sjabloon worden ingesteld. Als een sjabloon eenmaal is gemaakt, is er geen overerving van het type naar de sjabloon.
cq:deviceGroups
moet worden ingesteld als een relatief pad, zoals mobile/groups/responsive
en niet als een absoluut pad, zoals /etc/mobile/groups/responsive
.cq:deviceGroups
kan worden ingesteld als de hoofdmap van de site.Sjabloontypen maken creating-template-types
Als u een sjabloon hebt gemaakt die als basis voor andere sjablonen kan dienen, kunt u deze sjabloon kopiëren als een sjabloontype.
- Een sjabloon maken zoals elke bewerkbare sjabloon zoals hier beschreven, die als basis voor uw sjabloontype zal dienen.
- Kopieer de nieuwe sjabloon met CRXDE Lite van de
templates
aan detemplate-types
knooppunt onder sjabloonmap. - De sjabloon verwijderen uit het dialoogvenster
templates
knooppunt onder sjabloonmap. - In de kopie van de sjabloon die zich onder de
template-types
knooppunt, alles verwijderencq:template
encq:templateType
jcr:content
eigenschappen.
U kunt uw eigen malplaatjetype ook ontwikkelen gebruikend een voorbeeld editable malplaatje als basis, beschikbaar op GitHub.
CODE VOOR GITHUB
U kunt de code van deze pagina op GitHub vinden
- Open a-plaatsen-voorbeeld-douane-malplaatje-type project op GitHub
- Het project downloaden als een ZIP-bestand
Sjabloondefinities template-definitions
Definities voor bewerkbare sjablonen worden opgeslagen door de gebruiker gedefinieerde mappen (aanbevolen) of als alternatief global
. Bijvoorbeeld:
/conf/<my-folder>/settings/wcm/templates
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/templates
/conf/global/settings/wcm/templates
Het hoofdknooppunt van de sjabloon is van het type cq:Template
met een skeletstructuur van:
<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
De belangrijkste elementen zijn:
-
<template-name>
- "initial"
jcr:content
- "structure"
- "policies"
thumbnail.png
jcr:inhoud jcr-content
Dit knooppunt bevat eigenschappen voor de sjabloon:
-
Naam:
jcr:title
-
Naam:
status
- Type:
String
- Waarde:
draft
,enabled
ofdisabled
- Type:
Structuur structure
Hiermee definieert u de structuur van de resulterende pagina:
-
Is samengevoegd met de oorspronkelijke inhoud (
/initial
) bij het maken van een nieuwe pagina. -
Wijzigingen in de structuur worden weerspiegeld in alle pagina's die met de sjabloon worden gemaakt.
-
De
root
(structure/jcr:content/root
) definieert de lijst met componenten die beschikbaar zullen zijn op de resulterende pagina.- Componenten die zijn gedefinieerd in de sjabloonstructuur kunnen niet worden verplaatst op of verwijderd van resulterende pagina's.
- Als een component eenmaal is ontgrendeld, wordt het
editable
eigenschap is ingesteld optrue
. - Wanneer een component die al inhoud bevat, is ontgrendeld, wordt deze inhoud naar de
initial
vertakking.
-
De
cq:responsive
node bevat definities voor de responsieve lay-out.
Oorspronkelijke inhoud initial-content
Definieert de eerste inhoud die een nieuwe pagina krijgt wanneer deze wordt gemaakt:
- Bevat een
jcr:content
knooppunt dat naar nieuwe pagina's wordt gekopieerd. - Is samengevoegd met de structuur (
/structure
) bij het maken van een nieuwe pagina. - Bestaande pagina's worden niet bijgewerkt als de oorspronkelijke inhoud na het maken wordt gewijzigd.
- De
root
node bevat een lijst met componenten om te definiëren wat er beschikbaar is op de resulterende pagina. - Als er inhoud wordt toegevoegd aan een component in de structuurmodus en die component vervolgens wordt ontgrendeld (of vice versa), wordt deze inhoud gebruikt als initiële inhoud.
Layout layout
Wanneer bewerken van een sjabloon die u kunt definiërengebruikt standaardresponsieve indeling dat ook geconfigureerd.
Inhoudsbeleid content-policies
Met het inhoudsbeleid (of het ontwerpbeleid) worden de ontwerpeigenschappen van een component gedefinieerd. Bijvoorbeeld de beschikbare componenten of de minimum-/maximumafmetingen. Deze zijn van toepassing op de sjabloon (en op pagina's die met de sjabloon zijn gemaakt). Het inhoudsbeleid kan worden gemaakt en geselecteerd in de sjablooneditor.
-
De eigenschap
cq:policy
over deroot
node/conf/<your-folder>/settings/wcm/templates/<your-template>/policies/jcr:content/root
Verstrekt een relatieve verwijzing naar het inhoudsbeleid voor het de paragraafsysteem van de pagina.
-
De eigenschap
cq:policy
, op de componentexpliciete knooppunten onderroot
koppelingen naar het beleid voor de afzonderlijke componenten te verschaffen. -
De feitelijke beleidsdefinities worden opgeslagen onder:
/conf/<your-folder>/settings/wcm/policies/wcm/foundation/components
cq:policy
bevat een relatieve verwijzing naar de configuratie zelf.policies
De structuur van een bewerkbare sjabloon heeft dezelfde hiërarchie als de configuratie van de ontwerpmodus van een statische sjabloon onder:/etc/designs/<my-site>/jcr:content/<component-name>
Paginabeleid page-policies
Met paginabeleid kunt u de inhoudsbeleid voor de pagina (belangrijkste parsys), in of het malplaatje of resulterende pagina's.
Een sjabloon inschakelen en toestaan voor gebruik enabling-and-allowing-a-template-for-use
-
Sjabloon inschakelen
Voordat een sjabloon kan worden gebruikt, moet deze zijn ingeschakeld door:
-
De sjabloon inschakelen van de Sjablonen console.
-
De statuseigenschap instellen op de knop
jcr:content
knooppunt.-
Bijvoorbeeld op:
/conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
-
Definieer de eigenschap:
- Naam: status
- Type: String
- Waarde:
enabled
-
-
-
Toegestane sjablonen
-
Definieer de toegestane sjabloonpaden op het tabblad Pagina-eigenschappen van de desbetreffende pagina of basispagina van een subvertakking.
-
Stel de eigenschap in:
cq:allowedTemplates
Op de
jcr:content
knooppunt van de vereiste vertakking.
Bijvoorbeeld met een waarde van:
/conf/<your-folder>/settings/wcm/templates/.*;
-
Resulterende inhoudspagina's resultant-content-pages
Pagina's die zijn gemaakt op basis van bewerkbare sjablonen:
-
Wordt gemaakt met een substructuur waaruit wordt samengevoegd
structure
eninitial
in de sjabloon -
Verwijzingen hebben naar in de template opgeslagen informatie en naar het sjabloontype. Dit wordt bereikt met een
jcr:content
knooppunt met de eigenschappen:-
cq:template
Verstrekt de dynamische verwijzing naar het daadwerkelijke malplaatje; Hiermee kunnen wijzigingen in de sjabloon op de werkelijke pagina's worden weergegeven.
-
cq:templateType
Verstrekt een verwijzing naar het malplaatjetype.
-
In het bovenstaande diagram ziet u hoe sjablonen, inhoud en componenten met elkaar verweven zijn:
-
Controller -
/content/<my-site>/<my-page>
De resulterende pagina die naar de sjabloon verwijst. De inhoud bepaalt het gehele proces. Volgens de definities heeft het toegang tot de toepasselijke sjabloon en componenten.
-
Configuratie -
/conf/<my-folder>/settings/wcm/templates/<my-template>
De sjabloonbeleid en beleid inzake gerelateerde inhoud definieert u de paginaconfiguratie.
-
Model - OSGi-bundels
De OSGI-pakketten de functionaliteit implementeren.
-
Weergeven -
/apps/<my-site>/components
In zowel de auteur- als de publicatieomgeving wordt de inhoud gerenderd door componenten.
Bij het weergeven van een pagina:
-
Sjablonen:
- De
cq:template
eigendom van zijnjcr:content
Het knooppunt wordt opgeroepen om toegang te krijgen tot de sjabloon die overeenkomt met die pagina.
- De
-
Onderdelen:
-
De component page voegt de
structure/jcr:content
structuur van de sjabloon met dejcr:content
boomstructuur van de pagina. -
Met de paginacomponent kan de auteur alleen de knooppunten van de sjabloonstructuur bewerken die als bewerkbaar zijn gemarkeerd (en eventuele onderliggende knooppunten).
-
Wanneer u een component op een pagina rendert, wordt het relatieve pad van die component overgenomen van de
jcr:content
knooppunt; hetzelfde pad onderpolicies/jcr:content
het knooppunt van de sjabloon wordt doorzocht.- De
cq:policy
Het bezit van deze knoop wijst aan het daadwerkelijke inhoudsbeleid (d.w.z. het houdt de ontwerpconfiguratie voor die component). - Dit staat u toe om veelvoudige malplaatjes te hebben die de zelfde configuraties van het inhoudsbeleid opnieuw gebruiken.
- De
-