Paginasjablonen - statisch page-templates-static
Een malplaatje wordt gebruikt om een Pagina tot stand te brengen en bepaalt welke componenten binnen het geselecteerde werkingsgebied kunnen worden gebruikt. Een sjabloon is een hiërarchie van knooppunten die dezelfde structuur heeft als de pagina die moet worden gemaakt, maar zonder daadwerkelijke inhoud.
Elke sjabloon bevat een selectie van componenten die beschikbaar zijn voor gebruik.
- Sjablonen zijn samengesteld uit Componenten;
- Componenten gebruiken widgets en staan toegang tot deze widgets toe. Deze worden gebruikt om de inhoud te renderen.
Eigenschappen en onderliggende knooppunten van een sjabloon properties-and-child-nodes-of-a-template
Een sjabloon is een knooppunt van het type cq:Template en heeft de volgende eigenschappen en onderliggende knooppunten:
Een sjabloon is de basis van een pagina.
Als u een pagina wilt maken, moet de sjabloon worden gekopieerd (node-tree) /apps/<myapp>/template/<mytemplate>
) op de corresponderende positie in de sitestructuur: dit gebeurt als een pagina wordt gemaakt met de Websites tab.
Deze kopieeractie geeft de pagina ook zijn aanvankelijke inhoud (gewoonlijk Top-Level Inhoud slechts) en het bezit die:resourceType, de weg aan de paginacomponent plaatsen die wordt gebruikt om de pagina (alles in de kindknoop jcr:content) terug te geven.
Hoe sjablonen zijn gestructureerd how-templates-are-structured
Er zijn twee aspecten die in overweging moeten worden genomen:
- de structuur van de template zelf
- de structuur van de inhoud die wordt geproduceerd wanneer een sjabloon wordt gebruikt
De structuur van een sjabloon the-structure-of-a-template
Een malplaatje wordt gecreeerd onder een knoop van type cq:sjabloon.
Er kunnen verschillende eigenschappen worden ingesteld, met name:
- jcr:titel - titel van de template; wordt weergegeven in het dialoogvenster wanneer u een pagina maakt.
- jcr:beschrijving - beschrijving van het model; wordt weergegeven in het dialoogvenster wanneer u een pagina maakt.
Dit knooppunt bevat een knooppunt jcr:content (cq:PageContent) dat wordt gebruikt als basis voor het inhoudsknooppunt van de resulterende pagina's; deze verwijzingen, gebruikend sling:resourceType, de component die voor het teruggeven van de daadwerkelijke inhoud van een nieuwe pagina moet worden gebruikt.
Deze component wordt gebruikt om de structuur en het ontwerp van de inhoud te bepalen wanneer een nieuwe pagina wordt gecreeerd.
De inhoud die door een sjabloon wordt geproduceerd the-content-produced-by-a-template
Sjablonen worden gebruikt om pagina's van het type te maken cq:Page
(zoals eerder vermeld, is een pagina een speciaal type component). Elke AEM pagina heeft een gestructureerd knooppunt jcr:content
. Dit:
- is van het type cq:PageContent
- is een gestructureerd knooppunttype dat een bepaalde content-definition bezit
- heeft een eigenschap
sling:resourceType
verwijzen naar de component met de slingerscripts die worden gebruikt voor het renderen van de inhoud
Standaardsjablonen default-templates
AEM wordt geleverd met een aantal standaardsjablonen die in het vak beschikbaar zijn. In sommige gevallen wilt u de sjablonen wellicht ongewijzigd gebruiken. In dat geval moet u ervoor zorgen dat de sjabloon beschikbaar is voor uw website.
AEM wordt bijvoorbeeld geleverd met verschillende sjablonen, waaronder een inhoudspagina en een homepage.
Standaardsjablonen weergeven displaying-default-templates
Ga als volgt te werk om een lijst met alle sjablonen in de repository weer te geven:
-
Open in CRXDE Lite de Gereedschappen menu en klik op Query.
-
Op het tabblad Query
-
Als Type, selecteert u XPath.
-
In de Query invoerveld, voer de volgende tekenreeks in:
//element(*, cq:Sjabloon)
-
Klikken Uitvoeren. De lijst wordt weergegeven in het vak Resultaat.
In de meeste gevallen neemt u een bestaande sjabloon en ontwikkelt u een nieuwe sjabloon voor eigen gebruik. Zie Paginasjablonen ontwikkelen voor meer informatie .
Als u een bestaande sjabloon wilt inschakelen voor uw website, moet deze worden weergegeven in het dialoogvenster Pagina maken een pagina maken onder Websites van de Websites console, plaats het allowedPaths bezit van de malplaatjeknoop aan: /content(https://experienceleague.adobe.com/.&last;?lang=nl)?
Hoe sjabloonontwerpen worden toegepast how-template-designs-are-applied
Wanneer stijlen in de gebruikersinterface worden gedefinieerd met Ontwerpmodus, blijft het ontwerp bestaan op het exacte pad van het inhoudsknooppunt waarvoor de stijl wordt gedefinieerd.
Als ontwerpen alleen worden toegepast in de ontwerpmodus, gelden de volgende secties: Resolutie ontwerppad, Beslissingsboomen de Voorbeeld niet van toepassing zijn.
Resolutie ontwerppad design-path-resolution
Wanneer het teruggeven van inhoud die op een statisch malplaatje wordt gebaseerd, AEM zal proberen om het meest relevante ontwerp en de stijlen op de inhoud toe te passen die op een traversal van de inhoudshiërarchie wordt gebaseerd.
AEM bepaalt de meest relevante stijl voor een inhoudsknoop in de volgende orde:
- Als er een ontwerp is voor het volledige en nauwkeurige pad van het inhoudsknooppunt (zoals wanneer het ontwerp is gedefinieerd in de ontwerpmodus), gebruikt u dat ontwerp.
- Als er een ontwerp is voor het inhoudsknooppunt van het bovenliggende element, gebruikt u dat ontwerp.
- Als er een ontwerp voor om het even welke knoop op de weg van de inhoudsknoop is, dan gebruik dat ontwerp.
In de laatste twee gevallen, als er meer dan één toepasselijk ontwerp is, gebruik het één dichtst bij de inhoudsknoop.
Beslissingsboom decision-tree
Dit is een grafische voorstelling van de Resolutie ontwerppad logica.
Voorbeeld example
U kunt een eenvoudige inhoudsstructuur als volgt gebruiken, waarbij een ontwerp van toepassing kan zijn op elk van de knooppunten:
/root/branch/leaf
In de volgende tabel wordt beschreven hoe AEM een ontwerp kiest.
Paginasjablonen ontwikkelen developing-page-templates
AEM paginasjablonen zijn gewoon modellen waarmee nieuwe pagina's worden gemaakt. Zij kunnen zo weinig, of zo veel, aanvankelijke inhoud bevatten zoals nodig, hun rol om de correcte aanvankelijke knoopstructuren tot stand te brengen, met de vereiste eigenschappen (hoofdzakelijk sling:resourceType) die worden geplaatst om het uitgeven en het teruggeven toe te staan.
Een nieuwe sjabloon maken (op basis van een bestaande sjabloon) creating-a-new-template-based-on-an-existing-template
Een nieuwe sjabloon kan natuurlijk helemaal vanaf het begin worden gemaakt, maar vaak wordt een bestaande sjabloon gekopieerd en bijgewerkt om tijd en moeite te besparen. U kunt bijvoorbeeld de sjablonen in Geometrixx gebruiken om aan de slag te gaan.
Een nieuwe sjabloon maken op basis van een bestaande sjabloon:
-
Kopieer een bestaande sjabloon (bij voorkeur met een definitie die zo dicht mogelijk bij wat u wilt bereiken) naar een nieuw knooppunt.
Sjablonen worden meestal opgeslagen in /apps/<website-name>/templates/<template-name>.
note note NOTE De lijst met beschikbare sjablonen is afhankelijk van de locatie van de nieuwe pagina en de plaatsingsbeperkingen die in elke sjabloon zijn opgegeven. Zie Beschikbaarheid sjabloon. -
Wijzig de jcr:titel van het nieuwe sjabloonknooppunt om de nieuwe rol ervan te weerspiegelen. U kunt ook de jcr:beschrijving in voorkomend geval. Zorg ervoor dat u de sjabloonbeschikbaarheid van de pagina naar wens wijzigt.
note note NOTE Als u de sjabloon wilt weergeven in het dialoogvenster Pagina maken een pagina maken onder Websites van de Websites console, stelt de allowedPaths
eigenschap van het sjabloonknooppunt naar:/content(/.*)?
-
Kopieer de component waarop de sjabloon is gebaseerd (dit wordt aangegeven door de sling:resourceType eigendom van de jcr:inhoud in de sjabloon) om een nieuwe instantie te maken.
Componenten worden meestal opgeslagen in /apps/<website-name>/components/<component-name>.
-
Werk de jcr:titel en jcr:beschrijving van de nieuwe component.
-
Vervang de miniatuur.png als u een nieuwe miniatuurafbeelding wilt weergeven in de lijst met sjabloonselecties (grootte 128 x 98 px).
-
Werk de sling:resourceType van de template jcr:inhoud knooppunt om naar de nieuwe component te verwijzen.
-
Breng verdere wijzigingen aan in de functionaliteit of het ontwerp van de sjabloon en/of de onderliggende component.
note note NOTE Wijzigingen aangebracht in de /apps/<website>/templates/<template-name> knoop zal het malplaatjegeval beïnvloeden (zoals in de selectielijst).
Wijzigingen aangebracht in de /apps/<website>/components/<component-name> de knoop zal de inhoudspagina beïnvloeden die wordt gecreeerd wanneer het malplaatje wordt gebruikt.U kunt nu een pagina binnen uw website maken met de nieuwe sjabloon.
cq.shared
naamruimte in inhoudspagina's en als deze ontbreekt, de JavaScript-fout Uncaught TypeError: Cannot read property 'shared' of undefined
resulteert.Alle pagina's met voorbeeldinhoud bevatten
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.Zie Client-Side bibliotheken gebruiken voor nadere informatie.
Een bestaande sjabloon beschikbaar maken making-an-existing-template-available
In dit voorbeeld wordt getoond hoe u een sjabloon kunt gebruiken voor bepaalde inhoudspaden. De sjablonen die beschikbaar zijn voor de auteur van de pagina wanneer u nieuwe pagina's maakt, worden bepaald door de logica die is gedefinieerd in Beschikbaarheid sjabloon.
-
Navigeer in CRXDE Lite naar de sjabloon die u voor de pagina wilt gebruiken, bijvoorbeeld de sjabloon Nieuwsbrief.
-
Wijzig de
allowedPaths
eigenschap en andere eigenschappen gebruikt voor beschikbaarheid van sjabloon. Bijvoorbeeld:allowedPaths
:/content/geometrixx-outdoors/[^/]+(/.*)?
betekent dat deze sjabloon is toegestaan in een pad onder/content/geometrixx-outdoors
.