In einer conf.json Datei können Sie Einstellungen für die Layouts vornehmen. Hierzu muss in erster Ebene die Eigenschaft layouts definiert werden. Dies ist eine Liste mit allen bekannten Layouts, bei denen jeweils der Dateiname der Schlüssel ist. Hier können Sie jeweils z.B. den Titel des Layouts bei der Auswahl angeben.
Das Standard Layout hat den Schlüssel default.
{
"layouts": {
"2columns": {
"title": "Layout mit zwei Spalten"
},
"3columns": {
"title": "Layout mit drei Spalten"
}
}
}
Sie können pro Layout über die Eigenschaft blocks sogar definieren, welche Blöcke für welche Orientierung verfügbar sein sollen. Gibt es dazu keine Definition, sind alle bekannten Blöcke für alle Orientierungen verfügbar.
{
"layouts": {
"2columns": {
"title": "Layout mit zwei Spalten",
"blocks": {
"center": {
"allow": "block1,block2,block3"
}
}
}
}
}
Mit disallow können Sie stattdessen Blöcke für eine Orientierung ausschließen.
Als Block für allow, bzw. disallow, kann auch die Angabe einer anderen Orientierung für dieses Layout verwendet werden. Dazu wird die Orientierung mit einem @ Zeichen gekennzeichnet (und kann sogar mit weiteren Blöcken erweitert werden).
{
"layouts": {
"2columns": {
"title": "Layout mit zwei Spalten",
"blocks": {
"center": {
"disallow": "block1,block2,block3"
},
"right": {
"disallow": "@center,block4"
}
}
}
}
}
Mit condition können Sie festlegen, dass bestimmte Blöcke nur eingefügt werden dürfen, wenn bestimmte andere Blöcke in der selben Orientierung vorhanden sind, oder bestimme andere Blöcke nicht in der selben Orientierung vorhanden sind. Dabei sind auch und-/oder-Verknüpfungen möglich. Eine Kombination von und- und oder-Verknüpfungen ist nicht möglich.
Beispiele:
{
"layouts": {
"2columns": {
"title": "Layout mit zwei Spalten",
"blocks": {
"center": {
"condition": {
"block1": "block2<3",
"block3": "block4>=1&block5=1",
"block6": "block7!=1,block8>1"
}
}
}
}
}
}
Diese Einstellungen bedeuten folgendes:
block1darf nur eingefügt werden, wennblock2höchstens zweimal in der selben Orientierung existiertblock3darf nur eingefügt werden, wennblock4mindestens einmal undblock5genau einmal in der selben Orientierung existiertblock6darf nur eingefügt werden, wennblock7nicht genau einmal oderblock8mehr als einmal in der selben Orientierung existiert
Wenn Sie die Eigenschaft inherit verwenden, können Sie kommasepariert die Orientierungen angeben, dessen Blöcke automatisch für die Unterseiten vererbt werden. Sobald eine Unterseite die vererbten Blöcke ändert, werden diese natürlich für diese Seite verwendet.
{
"layouts": {
"2columns": {
"inherit": "center,right"
}
}
}
Mit der Eigenschaft default_layout können Sie das Standard Layout definieren. Dieses wird z.B. beim Anlegen einer neuen Seite automatisch zugewiesen.
{
"default_layout": "layout2"
}
In der type.ini des Seitentyps können Sie mit layouts kommasepariert angeben, welche Layouts für diesen Seitentyp erlaubt sind.
Sie können auch Einstellungen für die Orientierungen vornehmen. Dazu verwenden Sie die Eigenschaft orients. Hier können Sie die Bezeichnung mit title setzen.
{
"orients": {
"right": {
"title": "Rechter Bereich"
}
}
}
Die Bezeichnungen für die Orientierungen left, right, center, top und bottom gibt das System bereits vor, können aber natürlich überschrieben werden.