Bearbeitbare Vorlagen editable-templates
Erfahren Sie, wie bearbeitbare Vorlagen beim Erstellen einer Seite, beim Definieren des anfänglichen Inhalts, des strukturierten Inhalts, der Authoring-Richtlinien und des Layouts verwendet werden.
Überblick overview
Beim Erstellen einer Seite müssen Sie eine Vorlage auswählen. Die Seitenvorlage wird als Basis für die neue Seite genutzt. Die Vorlage kann die Struktur der resultierenden Seite, jeden anfänglichen Inhalt und die Komponenten definieren, die verwendet werden können (Designeigenschaften).
-
Bearbeitbare Vorlagen ermöglichen es Autoren, Vorlagen zu erstellen und zu verwenden.
-
Bearbeitbare Vorlagen können verwendet werden, um Seiten zu erstellen, die sowohl mit dem
Seitenvorlagen zum Erstellen von Seiten, die mit dem universellen Editor bearbeitbar sind, verwenden eine begrenzte Untergruppe bearbeitbarer Vorlagenfunktionen. Daher konzentriert sich der Rest dieses Dokuments auf bearbeitbare Vorlagen, die zum Erstellen von Seiten verwendet werden, die mit dem Seiteneditor bearbeitet werden können.
Bearbeitbare Vorlagen und Seiten, die mit dem Seiten-Editor bearbeitet wurden page-editor
Beim Erstellen von Vorlagen zum Erstellen von Seiten, die mit dem Seiteneditor bearbeitet werden können, werden normalerweise spezialisierte Autoren identifiziert.
- Diese spezialisierten Autoren werden als Vorlagenautoren bezeichnet.
- Vorlagenautoren müssen Mitglieder der Gruppe
template-authors
sein. - Bearbeitbare Vorlagen behalten eine dynamische Verbindung zu allen damit erstellten Seiten bei. Dadurch wird sichergestellt, dass alle Änderungen an der Vorlage auf den Seiten widergespiegelt werden.
- Bearbeitbare Vorlagen machen die Seitenkomponente allgemeiner, sodass die Seitenkomponente ohne Anpassung verwendet werden kann.
Mit bearbeitbaren Vorlagen werden die Aspekte, die eine Seite bilden, innerhalb von Komponenten isoliert. Sie können die erforderlichen Komponentenkombinationen über eine Benutzeroberfläche konfigurieren. Damit entfällt die Notwendigkeit, für jede Seitenvariante eine neue Seitenkomponente zu entwickeln.
Dieses Dokument:
- Bietet einen Überblick über die Erstellung einer bearbeitbaren Vorlage
- Beschreibt die zum Erstellen bearbeitbarer Vorlagen erforderlichen Aufgaben für Admin-/Entwicklerpersonal
- Beschreibt die technischen Grundlagen bearbeitbarer Vorlagen
- beschreibt, wie AEM die Verfügbarkeit einer Vorlage bewertet.
Erstellen einer neuen bearbeitbaren Vorlage creating-a-new-template
Bearbeitbare Vorlagen werden von Vorlagenautoren in erster Linie mit der Vorlagenkonsole und dem Vorlagen-Editor erstellt. In diesem Abschnitt finden Sie einen Überblick über diesen Prozess, der anschließend aus technischer Perspektive beleuchtet wird.
Gehen Sie wie folgt vor, um eine bearbeitbare Vorlage zu erstellen:
-
Erstellen Sie einen Ordner für die Vorlagen. Dieser Ordner ist nicht obligatorisch, wird jedoch als Best Practice empfohlen.
-
Wählen Sie einen Vorlagentyp aus. Dieser wird kopiert, um die Vorlagendefinition zu erstellen.
note note NOTE Eine Auswahl von Vorlagentypen ist standardmäßig verfügbar. Sie können auch eigene Site-spezifische Vorlagentypen erstellen, falls erforderlich. -
Konfigurieren Sie die Struktur, die Inhaltsrichtlinien, den anfänglichen Inhalt und das Layout der neuen Vorlage.
Struktur
- Die Struktur ermöglicht die Definition von Komponenten und Inhalten für Ihre Vorlage.
- Komponenten, die in der Vorlagenstruktur definiert sind, können auf einer resultierenden Seite nicht verschoben oder von dort gelöscht werden.
- Wenn Sie möchten, dass Seitenautorinnen und -autoren Komponenten hinzufügen und entfernen können, fügen Sie der Vorlage ein Absatzsystem hinzu.
- Komponenten lassen sich entsperren und erneut sperren, damit Sie den anfänglichen Inhalt definieren können.
Weitere Informationen dazu, wie Vorlagenautoren die Struktur definieren, finden Sie unter Vorlagen zum Erstellen von Seiten, die mit dem Seiteneditor bearbeitbar sind.
Technische Details zur Struktur werden in diesem Dokument unter Struktur erläutert.
Richtlinien
-
Die Richtlinien für Inhalte definieren die Design-Eigenschaften einer Komponente.
- Zum Beispiel die verfügbaren Komponenten oder minimale/maximale Abmessungen.
-
Diese sind auf die Vorlage anwendbar (und auf Seiten, die mit der Vorlage erstellt wurden).
Weitere Informationen dazu, wie Vorlagenautoren Richtlinien definieren, finden Sie unter Vorlagen zum Erstellen von Seiten, die mit dem Seiteneditor bearbeitbar sind.
Technische Details zu Richtlinien werden in diesem Dokument unter Inhaltsrichtlinien erläutert.
Anfänglicher Inhalt
- Der anfängliche Inhalt definiert den Inhalt, der angezeigt wird, wenn eine Seite anfänglich auf Grundlage einer Vorlage erstellt wird.
- Der anfängliche Inhalt kann dann von Seitenautorinnen bzw. -autoren bearbeitet werden.
Weitere Informationen dazu, wie Vorlagenautoren die Struktur definieren, finden Sie unter Vorlagen zum Erstellen von Seiten, die mit dem Seiteneditor bearbeitbar sind.
Technische Details zum anfänglichen Inhalt finden Sie unter Anfänglicher Inhalt in diesem Dokument.
Layout
- Sie können das Vorlagen-Layout für verschiedene Geräte definieren.
- Responsives Layout funktioniert für Vorlagen ebenso wie für die Seitenbearbeitung.
Weitere Informationen dazu, wie Vorlagenautoren das Vorlagenlayout definieren, finden Sie unter Vorlagen zum Erstellen von Seiten, die mit dem Seiteneditor bearbeitbar sind.
Technische Details zum Vorlagen-Layout finden Sie unter Layout in diesem Dokument.
-
Aktivieren Sie die Vorlage und lassen Sie sie dann für bestimmte Inhaltsstrukturen zu.
- Eine Vorlage kann aktiviert oder deaktiviert werden, um sie für Vorlagenautorinnen und -autoren verfügbar bzw. nicht verfügbar zu machen.
- Eine Vorlage kann für bestimmte Seitenverzweigungen verfügbar oder nicht verfügbar gemacht werden.
Weitere Informationen dazu, wie Vorlagenautoren Vorlagen aktivieren, finden Sie unter Vorlagen zum Erstellen von Seiten, die mit dem Seiteneditor bearbeitbar sind.
Technische Details zum Aktivieren von Vorlagen werden in diesem Dokument unter Aktivieren und Zulassen von Vorlagen erläutert.
-
Verwenden Sie sie, um Inhaltsseiten zu erstellen.
- Wenn Sie eine Vorlage zum Erstellen einer Seite verwenden, ist kein Unterschied zwischen statischen und bearbeitbaren Vorlagen ersichtlich.
- Für die Seitenautoren ist der Prozess transparent.
Einzelheiten dazu, wie Seitenautoren Vorlagen zum Erstellen von Seiten verwenden können, finden Sie unter Erstellen und Organisieren von Seiten.
Technische Details zu den Richtlinien werden in diesem Dokument unter Resultierende Inhaltsseiten erläutert.
cq.shared
in den Inhaltsseiten vorhanden ist. Wenn er nicht vorhanden ist, wird der JavaScript-Fehler Uncaught TypeError: Cannot read property 'shared' of undefined
gemeldet.cq.shared
, sodass jeglicher darauf basierender Inhalt automatisch cq.shared
umfasst. Wenn Sie sich jedoch ganz neue eigene Inhaltsseiten erstellen möchten, die nicht auf Beispielinhalt basieren, müssen Sie sicherstellen, dass Sie den Namespace cq.shared
einbinden.Vorlagenordner template-folders
Zum Organisieren Ihrer Vorlagen können Sie die folgenden Ordner verwenden:
global
- Site-spezifisch
In einer Standard-AEM-Instanz ist der Ordner global
bereits in der Vorlagenkonsole vorhanden. Er enthält Standardvorlagen und dient als Ausweichlösung, wenn keine Richtlinien und/oder Vorlagentypen im aktuellen Ordner gefunden werden. Sie können Ihre Standardvorlagen entweder zu diesem Ordner hinzufügen oder aber einen Ordner erstellen (empfohlen).
global
-Ordner zu verwenden.admin
-Rechten erstellt werden.Arten von Vorlagen und Richtlinien werden gemäß der folgenden Rangordnung in allen Ordnern übernommen:
- der aktuelle Ordner
- dem aktuellen Ordner übergeordnete Elemente
/conf/global
/apps
/libs
Eine Liste aller zulässigen Einträge wird erstellt. Wenn sich Konfigurationen (path
/label
) überschneiden, wird den Benutzern nur die Instanz angezeigt, die dem aktuellen Ordner am nächsten ist.
Zum Erstellen eines Ordners stehen Ihnen die folgenden Optionen zur Auswahl:
- Programmierbar oder mit CRXDE Lite
- Verwenden des Konfigurations-Browsers
Verwenden von CRXDE Lite using-crxde-lite
-
Ein neuer Ordner (unter „/conf“) kann für Ihre Instanz entweder programmgesteuert oder mit CRXDE Lite erstellt werden.
Die folgende Struktur muss verwendet werden:
code language-xml /conf <your-folder-name> [sling:Folder] settings [sling:Folder] wcm [cq:Page] templates [cq:Page] policies [cq:Page]
-
Sie können die folgenden Eigenschaften des Ordnerstammknotens definieren:
<your-folder-name> [sling:Folder]
- Name:
jcr:title
- Typ:
String
- Wert: Der Titel (für den Ordner), der in der Vorlagen-Konsole angezeigt werden soll
- Name:
-
Zusätzlich zu den standardmäßigen Autorenberechtigungen (z. B.
content-authors
) müssen Sie jetzt eine oder mehrere Gruppen zuweisen und die erforderlichen Zugriffsrechte (ACLs) definieren, damit Ihre Autoren in der Lage sind, Vorlagen im neuen Ordner zu erstellen.Die Gruppe
template-authors
ist die Standardgruppe, die zugewiesen werden muss. Weitere Informationen finden Sie im Abschnitt ACLs und Gruppen.
Verwenden des Konfigurations-Browsers using-the-configuration-browser
-
Wechseln Sie zu Globale Navigation > Tools > Konfigurations-Browser.
Die vorhandenen Ordner werden links aufgelistet, einschließlich des Ordners
global
. -
Klicken Sie auf Erstellen.
-
Im Dialogfeld Konfiguration erstellen müssen die folgenden Felder konfiguriert werden:
- Titel: Geben Sie einen Titel für den Konfigurationsordner an.
- Bearbeitbare Vorlagen: Aktivieren Sie diese Option, um bearbeitbare Vorlagen in diesem Ordner zuzulassen.
-
Klicken Sie auf Erstellen.
ACLs und Gruppen acls-and-groups
Sobald Ihre Vorlagenordner erstellt sind (entweder über CRXDE oder den Konfigurations-Browser), müssen ACLs für die entsprechenden Gruppen für die Vorlagenordner definiert werden, um ein angemessenes Maß an Sicherheit zu gewährleisten.
Die Vorlagenordner für das WKND-Tutorial können als Beispiel herangezogen werden.
Die Gruppe „template-authors“ the-template-authors-group
Die Gruppe template-authors
ist die Gruppe zum Verwalten des Zugriffs auf Vorlagen und standardmäßig in AEM integriert. Sie ist aber leer. Benutzer müssen der Gruppe für das Projekt bzw. die Site hinzugefügt werden.
template-authors
ist nur für Benutzer, die die Möglichkeit haben müssen, neue Vorlagen zu erstellen.In der folgenden Tabelle sind die erforderlichen Berechtigungen für die Bearbeitung von Vorlagen aufgeführt.
Diese standardmäßige template-authors
-Gruppe umfasst nur die Projekteinstellungen, bei denen alle Mitglieder von template-authors
auf alle Vorlagen zugreifen und diese erstellen dürfen. Für komplexere Setups, bei denen mehrere Vorlagenautorengruppen benötigt werden, um einen getrennten Zugriff auf Vorlagen zu ermöglichen, müssen weitere benutzerdefinierte Vorlagenautorengruppen erstellt werden. Die Berechtigungen für die Vorlagenautorengruppen bleiben dabei jedoch dieselben.
Vorlagentyp template-type
Beim Erstellen einer Vorlage müssen Sie einen Vorlagentyp angeben:
-
Vorlagentypen stellen effektiv Vorlagen für eine Vorlage bereit. Beim Erstellen einer Vorlage wird die Struktur und der anfängliche Inhalt des gewählten Vorlagentyps verwendet, um die neue Vorlage zu erstellen.
- Der Vorlagentyp wird kopiert, um die Vorlage zu erstellen.
- Nach dem Kopieren besteht die einzige Verbindung zwischen der Vorlage und dem Vorlagentyp in einer statischen Referenz zu Informationszwecken.
-
Mit Vorlagentypen können Sie Folgendes definieren:
- Den Ressourcentyp der Seitenkomponente.
- Die Richtlinie des Stammknotens, die die im Vorlageneditor zulässigen Komponenten definiert.
- Es wird empfohlen, die Haltepunkte für das responsive Raster und das Setup des Emulators für mobile Geräte über den Vorlagentyp zu definieren.
-
AEM stellt einige vordefinierte Vorlagentypen wie HTML5-Seiten und Seiten mit adaptivem Formular bereit.
- Weitere Beispiele finden Sie im WKND-Tutorial.
-
Vorlagentypen werden normalerweise von Entwicklerinnen und Entwicklern definiert.
Die vordefinierten Vorlagentypen werden unter folgendem Pfad gespeichert:
/libs/settings/wcm/template-types
/libs
vornehmen. Dies liegt daran, dass der Inhalt von /libs
jederzeit durch ein Update in AEM überschrieben werden kann.Ihre Site-spezifischen Vorlagentypen sollten an einer mit dem folgenden Pfad vergleichbaren Stelle gespeichert werden:
/apps/settings/wcm/template-types
Definitionen für Ihre benutzerdefinierten Vorlagentypen sollten in benutzerdefinierten Ordnern (empfohlen) oder alternativ im Ordner global
gespeichert werden. Zum Beispiel:
/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/...
), sonst werden die Vorlagentypen nicht gefunden.Erstellen von Vorlagentypen creating-template-types
Wenn Sie eine Vorlage erstellt haben, die als Grundlage für andere Vorlagen dienen kann, können Sie diese Vorlage als Vorlagentyp kopieren.
- Erstellen Sie eine Vorlage so wie jede andere Seitenvorlage. Siehe Vorlagen zum Erstellen von Seiten, die mit dem Seiten-Editor bearbeitbar sind. Diese wird als Grundlage für Ihren Vorlagentyp dienen.
- Kopieren Sie mit CRXDE Lite die erstellte Vorlage aus dem Knoten
templates
in den Knotentemplate-types
unter dem Vorlagenordner. - Löschen Sie die Vorlage aus dem Knoten
templates
unter dem Vorlagenordner. - Löschen Sie in der Kopie der Vorlage, die sich unter dem
template-types
-Knoten befindet, allecq:template
- undcq:templateType
-Eigenschaften aus allenjcr:content
-Knoten.
Sie können auch Ihren eigenen Vorlagentyp entwickeln, indem Sie eine bearbeitbare Beispielvorlage von GitHub als Grundlage verwenden.
CODE AUF GITHUB
Den Code dieser Seite finden Sie auf GitHub.
- Öffnen Sie das Projekt aem-sites-example-custom-template-type auf GitHub.
- Laden Sie das Projekt als ZIP-Datei herunter.
Vorlagendefinitionen template-definitions
Definitionen für bearbeitbare Vorlagen werden in benutzerdefinierten Ordnern (empfohlen) oder alternativ im Ordner global
gespeichert. Zum Beispiel:
/conf/<my-folder>/settings/wcm/templates
/conf/<my-folder-01>/<my-folder-02>/settings/wcm/templates
/conf/global/settings/wcm/templates
Der Stammknoten der Vorlage weist den Typ cq:Template
und das folgende Strukturgerüst auf:
<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
Die Hauptelemente sind:
-
<template-name>
[initial](#initial-content)
jcr:content
[structure](#structure)
[policies](#policies)
thumbnail.png
jcr:content jcr-content
Dieser Knoten enthält Eigenschaften für die Vorlage:
-
Name:
jcr:title
-
Name:
status
- Typ:
String
- Wert:
draft
,enabled
oderdisabled
- Typ:
Struktur structure
Definiert die Struktur der resultierenden Seite:
-
Sie wird beim Erstellen einer Seite mit dem anfänglichen Inhalt (
/initial
) zusammengeführt. -
Änderungen an der Struktur spiegeln sich in allen Seiten wider, die mit der Vorlage erstellt wurden.
-
Der Knoten
root
(structure/jcr:content/root
) definiert die Liste der Komponenten, die auf der resultierenden Seite verfügbar sind.- Komponenten, die in der Vorlagenstruktur definiert sind, können auf einer resultierenden Seite nicht verschoben oder von dort gelöscht werden.
- Nachdem eine Komponente entsperrt wurde, wird die Eigenschaft
editable
auftrue
gesetzt. - Nachdem eine Komponente, die bereits Inhalt enthält, entsperrt wurde, wird dieser Inhalt in die Verzweigung
initial
verschoben.
-
Der Knoten
cq:responsive
enthält Definitionen für das responsive Layout.
Anfänglicher Inhalt initial-content
Definiert den anfänglichen Inhalt, den eine neue Seite bei Erstellung enthält:
- Er enthält einen Knoten
jcr:content
, der auf alle neue Seiten kopiert wird. - Er wird beim Erstellen einer Seite mit der Struktur (
/structure
) zusammengeführt. - Vorhandene Seiten werden nicht aktualisiert, wenn der anfängliche Inhalt nach der Erstellung geändert wird.
- Der Knoten
root
enthält eine Liste von Komponenten, die definieren, was auf der resultierenden Seite verfügbar ist. - Wird einer Komponente im Strukturmodus Inhalt hinzugefügt und wird diese Komponente anschließend entsperrt (oder umgekehrt), so wird dieser Inhalt als anfänglicher Inhalt verwendet.
Layout layout
Beim Bearbeiten einer Vorlage können Sie das Layoutdefinieren. Dabei wird das standardmäßige responsive Layout verwendet, dasverwendet und vom Inhaltsautor auf der Seite konfiguriert werden kann.
Inhaltsrichtlinien content-policies
Die Richtlinien für Inhalte definieren die Design-Eigenschaften einer Komponente. Zum Beispiel die verfügbaren Komponenten oder minimale/maximale Abmessungen. Diese sind auf die Vorlage anwendbar (und auf Seiten, die mit der Vorlage erstellt wurden). Inhaltsrichtlinien können mit dem Vorlageneditor erstellt und ausgewählt werden.
-
Die Eigenschaft
cq:policy
im Knotenroot
/conf/<your-folder>/settings/wcm/templates/<your-template>/policies/jcr:content/root
Stellt einen relativen Verweis auf die Inhaltsrichtlinie für das Absatzsystem der Seite bereit. -
Die Eigenschaft
cq:policy
der komponentenexpliziten Knoten unterroot
stellt Links zu den Richtlinien für die einzelnen Komponenten bereit. -
Die tatsächlichen Richtliniendefinitionen werden gespeichert unter:
/conf/<your-folder>/settings/wcm/policies/wcm/foundation/components
cq:policy
enthält einen relativen Verweis auf die Konfiguration selbst.Seitenrichtlinien page-policies
Seitenrichtlinien ermöglichen es, die Inhaltsrichtlinie für die Seite (Hauptabsatzsystem) entweder in der Vorlage oder den resultierenden Seiten zu definieren.
Aktivieren und Zulassen einer Vorlage enabling-and-allowing-a-template-for-use
-
Aktivieren der Vorlage
Bevor eine Vorlage verwendet werden kann, muss sie wie folgt aktiviert werden:
-
Durch Aktivieren der Vorlage über die Vorlagen-Konsole.
-
Durch Festlegen der Statuseigenschaft des Knotens
jcr:content
-
Zum Beispiel unter:
/conf/<your-folder>/settings/wcm/templates/<your-template>/jcr:content
-
Definieren Sie die Eigenschaft:
- Name: Status
- Typ: String
- Wert:
enabled
-
-
-
Zugelassene Vorlagen
-
Definieren Sie die Pfade zugelassener Vorlagen über die Seiteneigenschaften der entsprechenden Seite oder Stammseite einer Unterverzweigung.
-
Legen Sie die folgende Eigenschaft fest:
cq:allowedTemplates
Auf demjcr:content
-Knoten der erforderlichen Verzweigung.
Beispielsweise mit dem Wert:
/conf/<your-folder>/settings/wcm/templates/.*
-
Resultierende Inhaltsseiten resultant-content-pages
Für Seiten, die anhand bearbeitbarer Vorlagen erstellt wurden, gilt Folgendes:
-
Sie werden mit einer Unterbaumstruktur erstellt, die aus
structure
undinitial
in der Vorlage zusammengeführt wird. -
Sie enthalten Verweise auf Informationen, die in der Vorlage und im Vorlagentyp enthalten sind. Dies wird mithilfe des Knotens
jcr:content
mit den folgenden Eigenschaften erreicht:-
cq:template
– Stellt den dynamischen Verweis auf die aktuelle Vorlage bereit und ermöglicht es, Änderungen an der Vorlage auf den aktuellen Seiten widerzuspiegeln. -
cq:templateType
– Stellt einen Verweis auf den Vorlagentyp bereit.
-
Das obige Diagramm veranschaulicht, wie Vorlagen, Inhalte und Komponenten zusammenhängen:
- Controller –
/content/<my-site>/<my-page>
– Die resultierende Seite, die auf die Vorlage verweist. Der Inhalt steuert den gesamten Prozess. Gemäß den Definitionen greift er auf die entsprechenden Vorlagen und Komponenten zu. - Konfiguration –
/conf/<my-folder>/settings/wcm/templates/<my-template>
– Die Vorlage und zugehörigen Inhaltsrichtlinien definieren die Seitenkonfiguration. - Modell – OSGi-Bundles – Die OSGi-Bundles implementieren die Funktionalität.
- Ansicht –
/apps/<my-site>/components
– Sowohl in der Autoren- als auch in der Veröffentlichungsumgebung wird der Inhalt durch Komponenten gerendert.
Beim Rendern einer Seite:
-
Vorlagen:
- Die
cq:template
-Eigenschaft des Knotensjcr:content
wird referenziert, um auf die Vorlage zuzugreifen, die dieser Seite entspricht.
- Die
-
Komponenten:
-
Die Seitenkomponente führt die Baumstruktur
structure/jcr:content
der Vorlage mit der Baumstrukturjcr:content
der Seite zusammen.- Die Seitenkomponente gestattet es der Autorin bzw. dem Autor nur, die Knoten der Vorlagenstruktur zu bearbeiten, die als bearbeitbar gekennzeichnet wurden (sowie jegliche untergeordneten Elemente).
- Beim Rendern einer Komponente auf einer Seite wird der relative Pfad dieser Komponente vom Knoten
jcr:content
übernommen. Derselbe Pfad unter dem Knotenpolicies/jcr:content
der Vorlage wird dann durchsucht.- Die Eigenschaft
cq:policy
dieses Knotens verweist auf die eigentliche Inhaltsrichtlinie (d. h. sie enthält die Design-Konfiguration für diese Komponente).- Auf diese Weise können Sie mehrere Vorlagen verwenden, die dieselben Inhaltsrichtlinienkonfigurationen wiederverwenden.
- Die Eigenschaft
-
Verfügbarkeit von Vorlagen template-availability
Beim Erstellen einer neuen Seite in der Site-Admin-Oberfläche hängt die Liste der verfügbaren Vorlagen vom Speicherort der neuen Seite und den in den einzelnen Vorlagen angegebenen Platzierungsbeschränkungen ab.
Die folgenden Eigenschaften bestimmen, ob eine Vorlage T
für eine neue Seite verwendet werden darf, die der Seite P
untergeordnet platziert werden kann. Jede dieser Eigenschaften ist eine mehrwertige Zeichenfolge, welche null oder mehrere reguläre Ausdrücke enthält, die für die Übereinstimmung mit Pfaden verwendet werden:
-
Die Eigenschaft
cq:allowedTemplates
des Unterknotensjcr:content
vonP
oder ein Vorgänger vonP
. -
Die
allowedPaths
-Eigenschaft vonT
. -
Die
allowedParents
-Eigenschaft vonT
. -
Die
allowedChildren
-Eigenschaft der Vorlage vonP
.
Die Bewertung funktioniert wie folgt:
-
Die erste nicht leere Eigenschaft
cq:allowedTemplates
, die beim Aufrufen der mitP
beginnenden Seitenhierarchie gefunden wird, wird mit dem Pfad vonT
abgeglichen. Wenn keiner der Werte übereinstimmt, wirdT
abgelehnt. -
Wenn
T
eine nicht leereallowedPaths
-Eigenschaft hat, aber keiner der Werte mit dem Pfad vonP
übereinstimmt, wirdT
zurückgewiesen. -
Wenn beide oben genannten Eigenschaften entweder leer oder nicht vorhanden sind, wird
T
abgelehnt, es sei denn, es gehört zum selben Programm wieP
.T
gehört genau dann zum selben Programm wieP
, wenn der Name der zweiten Ebene des Pfades vonT
mit dem Namen der zweiten Ebene des Pfades vonP
übereinstimmt. Zum Beispiel gehört die Vorlage/apps/wknd/templates/foo
zum selben Programm wie die Seite/content/wknd
. -
Wenn
T
eine nicht leereallowedParents
-Eigenschaft hat, aber keiner der Werte mit dem Pfad vonP
übereinstimmt, wirdT
zurückgewiesen. -
Wenn die Vorlage von
P
eine nicht leereallowedChildren
-Eigenschaft hat, aber keiner der Werte mit dem Pfad vonT
übereinstimmt, wirdT
zurückgewiesen. -
In allen anderen Fällen ist
T
zulässig.
Das folgende Diagramm zeigt den Vorlagenauswertungsprozess:
-
nur die
cq:allowedTemplates
-Eigenschaft -
nur im Site-Stamm
/content/wknd/jcr:content
allowedPaths
, allowedParents
und allowedChildren
in den Vorlagen platziert werden, um komplexere Regeln zu definieren. Es ist jedoch nach Möglichkeit deutlich einfacher, in Unterabschnitten der Site weitere cq:allowedTemplates
-Eigenschaften zu definieren, wenn die zulässigen Vorlagen weiter eingeschränkt werden sollen.cq:allowedTemplates
-Eigenschaften von einem Autor auf der Registerkarte Erweitert der Seiteneigenschaften aktualisiert werden können. Die anderen Vorlageneigenschaften können nicht über die (standardmäßige) Benutzeroberfläche aktualisiert werden. Dafür wird ein Entwickler benötigt, der die Regeln und Code-Bereitstellung für jede Änderung pflegt.Einschränkende Vorlagen in untergeordneten Seiten limiting-templates-used-in-child-pages
Um zu begrenzen, welche Vorlagen zum Erstellen von untergeordneten Seiten unter einer bestimmten Seite verwendet werden können, verwenden Sie die Eigenschaft cq:allowedTemplates
des Knotens jcr:content
auf der Seite. Damit lässt sich die Liste der Vorlagen angeben, die als untergeordnete Seiten zulässig sein sollen. Jeder Wert in der Liste muss ein absoluter Pfad zu einer Vorlage für eine zulässige untergeordnete Seite sein, zum Beispiel /apps/wknd/templates/page-content
.
Sie können die Eigenschaft cq:allowedTemplates
im Knoten jcr:content
der Vorlage verwenden, damit diese Konfiguration auf alle erstellten Seiten angewendet wird, die diese Vorlage nutzen.
Wenn Sie mehrere Einschränkungen hinzufügen möchten, z. B. bezüglich der Vorlagenhierarchie, können Sie die Eigenschaften allowedParents/allowedChildren
der Vorlage verwenden. Sie können dann explizit angeben, dass Seiten, die aus einer Vorlage T erstellt wurden, übergeordnet/untergeordnet von Seiten sein müssen, die aus einer Vorlage T erstellt wurden.