Paginasjablonen - Bewerkbaar page-templates-editable
Bewerkbare sjablonen zijn geïntroduceerd in:
-
Sta gespecialiseerde auteurs toe om malplaatjestot stand te brengen en uit te geven.
- Dergelijke gespecialiseerde auteurs worden genoemd malplaatjeauteurs
- Sjabloonauteurs moeten lid zijn van de groep
template-authors
.
-
Geef sjablonen op die een dynamische verbinding behouden met alle pagina's die van deze sjablonen zijn gemaakt. Zo zorgt u ervoor dat alle wijzigingen in de sjabloon worden doorgevoerd in de pagina's zelf.
-
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 zodat u de behoefte aan een nieuwe paginacomponent elimineert die voor elke paginariatie moet worden ontwikkeld.
Dit document:
-
Geeft een overzicht van het maken van bewerkbare sjablonen
- Voor details zie Creërend de Malplaatjes van de Pagina
-
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 auteursdocument Creërend de Malplaatjes van de Pagina, die de mogelijkheden van editable malplaatjes zoals blootgesteld aan de malplaatjeauteur detailleert.
Begonnen het worden met AEM Sites Deel 2 - Creërend een Pagina en een Malplaatje van de Basis
Een nieuwe sjabloon maken creating-a-new-template
Het creëren van editable malplaatjes wordt hoofdzakelijk gedaan met de malplaatjeconsole en malplaatjeredacteurdoor een malplaatjeauteur. 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 Creërend een AEM project gebruikend Lagen.
Bij het maken van een bewerkbare sjabloon:
-
Creeer a omslag voor de malplaatjes. Deze map is niet verplicht, maar wordt aanbevolen.
-
Selecteer a malplaatjetype. Dit type wordt gekopieerd om de malplaatjedefinitietot stand te brengen.
note note NOTE Een selectie van sjabloontypen is beschikbaar buiten het vak. U kunt ook uw eigen plaats-specifieke malplaatjetypestot stand brengen, 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
We.Retail
steekproefinhoud creeert, kunt u de Componenten van de Stichting kiezen of Componenten van de Kern gebruiken.
- Als u een malplaatje in een douanemap buiten de
-
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.
Voor details op hoe een malplaatjeauteur de structuur bepaalt, zie Creërend de Malplaatjes van de Pagina.
Voor technische details van de structuur, zie Structuurin dit document.
Beleid
-
Het inhoudsbeleid definieert de ontwerpeigenschappen van een component.
- Bijvoorbeeld de beschikbare componenten of de minimum-/maximumafmetingen.
-
Dit beleid is van toepassing op de sjabloon (en op pagina's die met de sjabloon zijn gemaakt).
Voor details op hoe een malplaatjeauteur beleid bepaalt, zie Creërend de Malplaatjes van de Pagina.
Voor technisch detail van beleid, zie Beleid van de Inhoudin dit document.
Aanvankelijke 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.
Voor details op hoe een malplaatjeauteur de structuur bepaalt, zie Creërend de Malplaatjes van de Pagina.
Voor technische details op aanvankelijke inhoud, zie Aanvankelijke Inhoudin dit document.
Lay-out
- 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.
Voor details op hoe een malplaatjeauteur de malplaatjelay-out bepaalt, zie Creërend de Malplaatjes van de Pagina.
Voor technische details op malplaatjelay-out, zie Lay-outin 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 op hoe een malplaatjeauteur een malplaatje toelaat, zie Creërend de Malplaatjes van de Pagina.
Voor technische details bij het toelaten van een malplaatje, zie Toelatend en Toestaan een Malplaatje voor Gebruike in dit document
-
Gebruik dit besturingselement om inhoudspagina's te maken.
- Wanneer u een sjabloon gebruikt om een 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.
Voor details op hoe een paginaauteur malplaatjes gebruikt om een pagina tot stand te brengen, zie Creërend en Organiserend Pagina's.
Voor technische details bij het creëren van pagina's met editable malplaatjes, zie Resulterende Pagina's van de Inhoudin dit document.
cq.shared
aanwezig is in inhoudspagina's. Als deze ontbreekt, resulteert dit in de JavaScript-fout Uncaught TypeError: Cannot read property 'shared' of undefined
.cq.shared
, dus alle inhoud die hierop is gebaseerd, bevat automatisch cq.shared
. Als u echter besluit uw eigen inhoudspagina's helemaal zelf te maken zonder deze te baseren op voorbeeldinhoud, moet u de naamruimte cq.shared
wel invoegen.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 standaard AEM instantie, bestaat de globale omslag in de malplaatjeconsole. Deze map bevat standaardsjablonen en fungeert als fallback als er geen beleid en/of sjabloontypen in de huidige map zijn gevonden. U kunt uw standaardsjablonen toevoegen aan deze map of een 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 configuraties elkaar overlappen ( path
/ label
), wordt alleen de instantie die zich het dichtst bij de huidige map bevindt, aan de gebruiker getoond.
Ga als volgt te werk om een map te maken:
- 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 omslag) u in de console van Malplaatjes wilt verschijnen.
-
-
In toevoeging aan de standaard auteurstoestemmingen en voorrechten (bijvoorbeeld,
content-authors
), wijs groepen toe en bepaal de vereiste toegangsrechten (ACLs) voor uw auteurs om malplaatjes in de nieuwe omslag te kunnen tot stand brengen.De
template-authors
-groep is de standaardgroep die moet worden toegewezen. Zie de volgende sectie ACLs en Groepenvoor details.Zie 🔗 het Rechterbeheer van de Toegang voor volledige details bij het beheren van en het toewijzen van toegangsrechten.
De configuratiebrowser gebruiken using-the-configuration-browser
-
Ga naar Globale Navigatie > Hulpmiddelen > Browser van de Configuratie.
De bestaande omslagen worden vermeld aan de linkerzijde met inbegrip van de globale omslag.
-
Klik creëren.
-
In creeer de dialoog van de Configuratie, moeten de volgende gebieden worden gevormd:
- Titel: Verstrek een titel voor de configuratiemap
- Bewerkbare Malplaatjes: Uitgezocht om voor editable malplaatjes binnen deze omslag toe te staan
-
Klik creëren
ACLs en Groepen acls-and-groups
Nadat uw malplaatjeomslagen (of als 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 malplaatjeomslagen voor de We.Retail
verwijzingsimplementatiekunnen als voorbeeld worden gebruikt.
De groep sjabloonauteurs the-template-authors-group
De template-authors
-groep is de groep die wordt gebruikt om toegang tot sjablonen te beheren en wordt standaard met AEM geleverd, maar is leeg. Gebruikers moeten worden toegevoegd aan de groep voor het project of de site.
template-authors
groep is slechts voor gebruikers die malplaatjes moeten kunnen tot stand brengen.In de volgende tabel worden de benodigde machtigingen voor sjabloonbewerking weergegeven.
Deze standaardgroep template-authors
geldt alleen voor de projectinstellingen, waarbij alle template-authors
-leden toegang hebben tot alle sjablonen en deze mogen samenstellen. Voor complexere montages, waar er een behoefte aan veelvoudige groepen van malplaatjeauteurs is 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 niet opslaan in /conf/global
. Voor sommige oude installaties zijn er echter nog sjablonen op deze locatie. slechts in dergelijke erfenissituaties zou de volgende /conf/global
wegen uitdrukkelijk moeten worden gevormd.
Sjabloontype template-type
Geef een sjabloontype op wanneer u een sjabloon maakt:
-
Sjabloontypen bieden sjablonen voor een sjabloon. Wanneer u een sjabloon maakt, worden de structuur en initiële inhoud van het geselecteerde sjabloontype gebruikt om de 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 definiëren:
- Het middeltype van de paginacomponent.
- Het beleid van de wortelknoop, die de componenten bepaalt die in de malplaatjeredacteur worden toegestaan.
- Adobe raadt u aan de onderbrekingspunten voor het responsieve raster en de instelling van de mobiele emulator op te geven voor het sjabloontype. Deze stap is facultatief, omdat de configuratie ook op het individuele malplaatje (zie het Type van Malplaatje en Mobiele Groepen van het Apparaat) kon worden bepaald.
-
AEM biedt een kleine selectie van sjabloontypen die buiten het vak vallen, zoals HTML5 Pagina en Aangepaste formulierpagina.
- Extra voorbeelden worden gegeven als onderdeel van de voorbeeldinhoud van
We.Retail
.
- Extra voorbeelden worden gegeven als onderdeel van de voorbeeldinhoud van
-
Sjabloontypen worden meestal gedefinieerd door ontwikkelaars.
De sjabloontypen voor de out-of-the-box worden opgeslagen onder:
/libs/settings/wcm/template-types
/libs
-pad. De reden hiervoor is dat de inhoud van /libs
de volgende keer dat u een upgrade uitvoert van uw exemplaar, wordt overschreven (en dat deze 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
Definities voor uw aangepaste sjabloontypen moeten worden opgeslagen in door de gebruiker gedefinieerde mappen (aanbevolen) of anders in 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/...
) in acht nemen, anders worden de sjabloontypen niet gevonden.Sjabloontype en mobiele apparaatgroepen template-type-and-mobile-device-groups-br
De apparatengroependie voor een editable malplaatje (geplaatst als relatieve weg van het bezit cq:deviceGroups
) worden gebruikt bepalen welke mobiele apparaten als mededingers op de lay-outwijzevan paginaontwerp beschikbaar zijn. Deze waarde kan op twee plaatsen worden ingesteld:
- Op het bewerkbare sjabloontype
- Op de bewerkbare sjabloon
Wanneer u een 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
bij de wortel van de plaats kunnen worden geplaatst.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.
- Maak een sjabloon op dezelfde manier als elke bewerkbare sjabloon. Zie Creërend de Malplaatjes van de Pagina. Dit kan als basis voor uw sjabloontype dienen.
- Gebruikend CRXDE Lite, kopieer het onlangs gecreeerde malplaatje van de
templates
knoop aan detemplate-types
knoop onder de malplaatjeomslag. - Schrap het malplaatje van de
templates
knoop onder de malplaatjeomslag. - Verwijder in de kopie van de sjabloon onder het knooppunt
template-types
alle eigenschappencq:template
encq:templateType
uit allejcr:content
knooppunten.
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-sites-example-custom-template-type project op GitHub
- Download het project als een dossier van het PIT
Sjabloondefinities template-definitions
De definities voor editable malplaatjes worden opgeslagen user-defined omslagen(geadviseerd) of alternatief in 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](#initial-content)
jcr:content
[structure](#structure)
[policies](#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
-
Structuur structure
Hiermee definieert u de structuur van de resulterende pagina:
-
Wordt bij het maken van een pagina samengevoegd met de oorspronkelijke inhoud (
/initial
). -
Wijzigingen in de structuur worden weerspiegeld in alle pagina's die met de sjabloon zijn gemaakt.
-
Het knooppunt
root
(structure/jcr:content/root
) definieert de lijst met componenten die beschikbaar zijn op de resulterende pagina.-
Componenten die zijn gedefinieerd in de sjabloonstructuur kunnen niet worden verplaatst op of verwijderd van resulterende pagina's.
-
Nadat een component is ontgrendeld, wordt de eigenschap
editable
ingesteld optrue
. -
Nadat een component die al inhoud bevat, is ontgrendeld, wordt deze inhoud naar de
initial
-vertakking verplaatst.
-
-
Het knooppunt
cq:responsive
bevat definities voor de responsieve indeling.
Oorspronkelijke inhoud initial-content
Definieert de eerste inhoud van een nieuwe pagina bij het maken:
- Bevat een knooppunt
jcr:content
dat naar nieuwe pagina's wordt gekopieerd. - Wordt bij het maken van een pagina samengevoegd met de structuur (
/structure
). - Bestaande pagina's worden bijgewerkt als de oorspronkelijke inhoud na het maken wordt gewijzigd.
- Het knooppunt
root
bevat een lijst met componenten om te definiëren wat beschikbaar is op de resulterende pagina. - Als er inhoud wordt toegevoegd aan een component in de structuurmodus en die component later wordt ontgrendeld (of omgekeerd), wordt deze inhoud gebruikt als initiële inhoud.
Layout layout
Wanneer het uitgeven van een malplaatje, u de lay-outkunt bepalen, gebruikt deze praktijk standaard ontvankelijke lay-outdie ook kan worden gevormd.
Inhoudsbeleid content-policies
Het inhoudsbeleid (of het ontwerpbeleid) definieert de ontwerpeigenschappen van een component, zoals de beschikbaarheid van de component of de minimum-/maximumafmetingen. Dit beleid is 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
op het knooppuntroot
/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
biedt op de componentexpliciete knooppunten onderroot
koppelingen naar het beleid voor de afzonderlijke componenten. -
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
-structuur van een bewerkbare sjabloon heeft dezelfde hiërarchie als de ontwerpmodusconfiguratie van een statische sjabloon onder:/etc/designs/<my-site>/jcr:content/<component-name>
Paginabeleid page-policies
Het beleid van de pagina laat u het inhoudsbeleidvoor de pagina (belangrijkste parsys), in of het malplaatje of de resulterende pagina's bepalen.
Een sjabloon inschakelen en toestaan voor gebruik enabling-and-allowing-a-template-for-use
-
laat het Malplaatje toe
Voordat een sjabloon kan worden gebruikt, moet deze zijn ingeschakeld door:
-
toelatend het malplaatjevan de console van Malplaatjes.
-
Setting the status property on the
jcr:content
node.-
Bijvoorbeeld op:
/conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
-
Definieer de eigenschap:
- Naam: status
- Type: String
- Waarde:
enabled
-
-
-
Toegestane Malplaatjes
-
bepaalt de Toegestane wegen van het Malplaatje op de Eigenschappen van de Pagina van de aangewezen pagina of wortelpagina van een subtak.
-
Stel de eigenschap in:
cq:allowedTemplates
Op hetjcr: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 gemaakt op basis van bewerkbare sjablonen:
-
Wordt gemaakt met een substructuur die wordt samengevoegd van
structure
eninitial
in de sjabloon -
Verwijzingen hebben naar in de template opgeslagen informatie en naar het sjabloontype. U kunt deze functionaliteit bereiken met een knooppunt
jcr:content
met de eigenschappen:-
cq:template
Verstrekt de dynamische verwijzing naar het daadwerkelijke malplaatje; laat toe dat veranderingen in het malplaatje worden weerspiegeld op de daadwerkelijke pagina's. -
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>
Het malplaatje en verwante inhoudsbeleidbepalen de paginasonfiguratie. -
Model - OSGi-pakketten
De bundels OSGIvoeren de functionaliteit uit. -
Weergeven -
/apps/<my-site>/components
Op zowel de auteur als publiceert milieu's, wordt de inhoud teruggegeven door componenten.
Bij het weergeven van een pagina:
-
Malplaatjes:
- De eigenschap
cq:template
van het knooppuntjcr:content
wordt gebruikt voor toegang tot de sjabloon die overeenkomt met die pagina.
- De eigenschap
-
Componenten:
-
De paginacomponent voegt de
structure/jcr:content
-structuur van de sjabloon samen met dejcr:content
-structuur 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 opgehaald uit het knooppunt
jcr:content
. Vervolgens wordt hetzelfde pad onder het knooppuntpolicies/jcr:content
van de sjabloon doorzocht.-
De eigenschap
cq:policy
van dit knooppunt verwijst naar het daadwerkelijke inhoudsbeleid (dat wil zeggen dat het de ontwerpconfiguratie voor die component bevat). -
Deze functionaliteit laat u veelvoudige malplaatjes hebben die de zelfde configuraties van het inhoudsbeleid opnieuw gebruiken.
-
-