Vorlagen templates
Vorlagen werden an verschiedenen Stellen in AEM verwendet:
-
Wenn Sie eine Seite erstellen, müssen Sie eine Vorlage auswählen. Diese wird als Basis für die neue Seite verwendet. Die Vorlage definiert die Struktur der resultierenden Seite, den anfänglichen Inhalt und die Komponenten die verwendet werden können (Designeigenschaften).
-
Wenn Sie ein Inhaltsfragment erstellen, müssen Sie auch eine Vorlage auswählen. Diese Vorlage definiert die Struktur, die Ausgangselemente und Varianten.
Die folgenden Vorlagen werden im Detail beschrieben:
Vorlagen - Seiten templates-pages
AEM bietet jetzt zwei grundlegende Arten von Vorlagen zum Erstellen von Seiten:
Bearbeitbare Vorlagen editable-templates
Bearbeitbare Vorlagen werden jetzt als Best Practices für die Entwicklung mit AEM betrachtet.
Die Vorteile bearbeitbarer Vorlagen:
-
Kann created und bearbeitet durch Ihre Autoren.
-
wurden eingeführt, damit Sie Folgendes für alle Seiten definieren können, die mit der Vorlage erstellt werden:
- Struktur
- den anfänglichen Inhalt
- Content-Richtlinien
-
Nachdem die neue Seite erstellt wurde, wird eine dynamische Verbindung zwischen der Seite und der Vorlage aufrechterhalten. Das bedeutet, dass Änderungen an der Vorlagenstruktur auf allen mit dieser Vorlage erstellten Seiten wiedergegeben werden (Änderungen am ursprünglichen Inhalt werden nicht berücksichtigt).
-
Verwendet Inhaltsrichtlinien (die im Vorlageneditor bearbeitet wurden), um die Designeigenschaften beizubehalten (verwendet den Designmodus im Seiteneditor nicht).
-
Werden gespeichert unter
/conf -
Siehe Bearbeitbare Vorlagen für weitere Informationen.
Statische Vorlagen static-templates
Statische Vorlagen:
- Muss von Ihren Entwicklern definiert und konfiguriert werden.
- Dies war das ursprüngliche Vorlagensystem von AEM und war für viele Versionen verfügbar.
- Eine statische Vorlage ist eine Hierarchie von Knoten mit derselben Struktur wie die zu erstellende Seite, jedoch ohne tatsächlichen Inhalt.
- werden kopiert, um die neue Seite zu erstellen. Danach existiert keine dynamische Verbindung.
- Verwendet Designmodus um Designeigenschaften beizubehalten.
- Werden gespeichert unter
/apps - Siehe Statische Vorlagen für weitere Informationen.
Verfügbarkeit von Vorlagen template-availability
-
nur die
cq:allowedTemplates-Eigenschaft -
nur im Site-Stamm
/content/we-retail/jcr:contentallowedPaths, 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-Implementierung für jede Änderung pflegt.Beim Erstellen einer neuen Seite in der Website-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:allowedTemplatesdes Unterknotensjcr:contentvonPoder 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 mitPbeginnenden Seitenhierarchie gefunden wird, wird mit dem Pfad vonTabgeglichen. Wenn keiner der Werte übereinstimmt, wirdTabgelehnt. -
Wenn
Teine nicht leereallowedPaths-Eigenschaft hat, aber keiner der Werte mit dem Pfad vonPübereinstimmt, wirdTzurückgewiesen. -
Wenn beide oben genannten Eigenschaften entweder leer oder nicht vorhanden sind, wird
Tabgelehnt, es sei denn, es gehört zum selben Programm wieP.Tgehört genau dann zum selben Programm wieP, wenn der Name der zweiten Ebene des Pfades vonTmit dem Namen der zweiten Ebene des Pfades vonPübereinstimmt. Zum Beispiel gehört die Vorlage/apps/geometrixx/templates/foozum selben Programm wie die Seite/content/geometrixx. -
Wenn
Teine nicht leereallowedParents-Eigenschaft hat, aber keiner der Werte mit dem Pfad vonPübereinstimmt, wirdTzurückgewiesen. -
Wenn die Vorlage von
Peine nicht leereallowedChildren-Eigenschaft hat, aber keiner der Werte mit dem Pfad vonTübereinstimmt, wirdTzurückgewiesen. -
In allen anderen Fällen ist
Tzulässig.
Das folgende Diagramm zeigt den Vorlagenauswertungsprozess:
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/geometrixx/templates/contentpage.
Sie können die Eigenschaft cq:allowedTemplates im Knoten jcr:content der Vorlage verwenden, damit diese Konfiguration auf alle neu 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 auf 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.
Vorlagen - Inhaltsfragmente templates-content-fragments
Siehe Inhaltsfragmentvorlagen für vollständige Informationen.