Definition einer Layoutfläche für wiederholende Elemente.
Die Platzierung von wiederholenden Elementen kann durch den Aufbaumodus area auf einen durch Layoutrahmen definierten Bereich beschränkt werden.
Wird die Aufbau-Aktion eines Rahmenplatzhalters mit dem Typ "area" ausgeführt, wird dieser Rahmen als Layoutrahmen verwendet, und alle anderen Platzierungsparameter des Formatstrings ignoriert. Jeder Layoutrahmen legt diese Parameter selbst fest - sie können über die Palette "Bereichsaufbau" konfiguriert werden.
Auch Rahmenketten sind möglich - auf diese Weise können wiederholende Elemente über mehrere Layoutrahmen verteilt werden.
Es sollen mehrere wiederholende Elemente im Uhrzeigersinn um einen Textrahmen verteilt werden. Bisher waren für dieses Unterfangen komplexe cScripte notwendig.
Im Screenshot sind mehrere verkettete Layoutrahmen (grüner Hintergrund) um den Produkttext (magentafarbener Hintergrund) verteilt. Diese wurden im Uhrzeigersinn, beginnend vom rechten Layoutrahmen, mit wiederholenden Elementen gefüllt.
Die Einstellungen, die den Bereichsaufbau der wiederholenden Elemente steuern werden in der Palette "Bereichsaufbau" konfiguriert. Der Inhalt der Palette ist von der Selektion im Dokument abhängig: Ist der selektierte Rahmen ein Layoutrahmen oder Teil eines wiederholenden Elementes, werden im linken und rechten Bereich Informationen über die zugehörige Rahmenkette angezeigt. Der Zentrale Bereich dient der Einstellung des Layoutrahmens und ist dementsprechend nur bei Selektion eines solchen aktiviert. Wenn keiner oder mehr als ein Rahmen ausgewählt ist, werden die Steuerelemente auf der Palette deaktiviert.
Die Palette hat drei Bereiche: Die Liste der Layoutrahmen (Rahmenketten), die Einstellungen der Layoutrahmen und die Produkte des Elementes.
Ist eine Rahmenkette mit wiederholenden Elementen gefüllt, wird das Einfügen abgebrochen. Überzählige Elemente werden ignoriert und folgende Meldung ins Logfile geschrieben:
# Build cancelled, some frames are leaving the page or their layout area.
Zeigt das Dokument die Platzhalter (Kontextmenü Platzhalter -> Zeigen), wird am letzten Rahmen der Kette eine rot hinterlegte Information gezeigt, wieviele Elemente nicht mehr ins Dokument eingefügt werden konnten:
Der Platzhalter wird darüberhinaus mit einer entsprechenden Information in der Aufgaben-Palette gezeigt.
Beim Produktaufbau kann es erforderlich sein, dass die Größe von Rahmen der Rahmenkette variabel ist. Das ist insbesondere dann sinnvoll, wenn die Anzahl der Elemente, die platziert werden sollen, nicht bekannt ist. Setzen Sie dazu für den Rahmen das Fortsetzungsdreieck der Palette Template-Verhalten. Zum Setzen des Dreiecks muß der Rahmen kurzfristig in einen Textrahmen konvertiert werden. Achten Sie bitte darauf, das Fortsetzungsdreick nur in Rahmen zu setzen, die nach unten auch tatsächlich Platz haben!
Ist das Fortsetzungsdreieck gesetzt, wird der Rahmen vor dem Laden der wiederholenden Elemente auf die vom Seitenelement vorgegebene maximale Höhe vergrößert und nach dem Laden so verkleinert, dass er die Elemente genau umschließt. Werden keine Elemente geladen, bekommt der Rahmen die minimal mögliche Höhe von 4 Pt.
Das gesetzte Dreieck bedeutet nicht, dass wiederholende Elemente auf Folgeseiten fortgesetzt werden können oder gar automatisch Folgeseiten anlegen. Auch mit gesetztem Dreieck können wiederholende Elemente nur maximal auf einer Dokumentseite platziert werden. Siehe dazu auch hier.
In Releases vor R14610 wurde die Reihenfolge der Bereichsrahmen über Kennung und Sequenznummer der Template-Rahmen festgelegt: Alle Rahmen, die die gleiche Kennung wie der Rahmen haben, der den Aufbau auslöst, bilden dabei den Bereich, der mit den Elementen gefüllt werden kann. Die Reihenfolge der Füllung wird über die Sequenznummer der Rahmen festgelegt (Kennung und Reihenfolge stellen Sie in der Palette Templateverhalten ein.) Diese Einstellungen werden ab R14610 nicht mehr verwendet!
Es ist möglich, mehrere Layoutrahmen miteinander zu verknüpfen. Auf diese Weise wird die Platzierung der wiederholenden Elemente beim nächsten Rahmen fortgesetzt, sobald der Aktuelle Rahmen gefüllt ist. Jeder verkettete Rahmen kann dabei seine eigenen Einstellungen für das Platzierungsverhalten haben.
Die Verkettung der Rahmen wird ebenfalls über die Bereichsaufbaupalette festgelegt. Hier lassen sich Rahmen zu einer Aufbaukette hinzufügen, entfernen und die Reihenfolge ändern.
Im linken Bereich der Palette befindet sich eine Liste der Layoutrahmen die zu der Kette des aktuell im Dokument ausgewählten Rahmen gehören. Diese Liste funktioniert nicht, wenn mehrere Rahmen ausgewählt sind.
1. Positionsvorschau des Rahmens
2. Rahmennummer (UID)
3. Dieser Knopf selektiert den Rahmen im Dokument
Zeigt das Dokument die Platzhalter (Kontextmenü Platzhalter -> Zeigen), wird die Reihenfolge der Rahmen blau hinterlegt am Rahmen angezeigt. Die Markierung befindet sich dabei immer an der Rahmenecke, an der das erste Element eingefügt werden wird:
In der Palette befinden sich verschiedene Werkzeuge zur Bearbeitung der Rahmenketten:
Icon | Beschreibung |
![]() ![]() |
Vorbedingung Folgende Bedingungen für die Rahmen der Kette müssen erfüllt sein:
Rahmen zu Kette hinzufügen: Wenn dieser Knopf gedrückt wird, wird jeder nachfolgend im Dokument einzeln ausgewählte Rahmen zur Rahmenkette hinzugefügt. Dabei wird der Rahmen von allen anderen Rahmenketten entfernt. Rahmenketten können nur innerhalb einer Cometgruppe erzeugt werden. Dieser Modus wird deaktiviert, wenn die Palette geschlossen wird oder mehrere Rahmen im Dokument ausgewählt werden. Ansonsten muss der Modus durch einen erneuten Klick manuell abgeschaltet werden! |
![]() |
Rahmen aus Kette entfernen: Entfernt den in der Liste ausgewählten Rahmen aus der aktuellen Rahmenkette. Der erste Rahmen der Liste (der mit dem wiederholende Elemente-Platzhalter) kann nicht entfernt werden. |
![]() |
Rahmen in Reihenfolge nach oben verschieben: Verschiebt den in der Liste ausgewählten Rahmen in der Reihenfolge der Rahmenkette eine Position nach vorne. Der erste Rahmen der Liste (der mit dem wiederholende Elemente-Platzhalter) kann nicht verschoben werden. |
![]() |
Rahmen in Reihenfolge nach unten verschieben: Verschiebt den in der Liste ausgewählten Rahmen in der Reihenfolge der Rahmenkette eine Position nach hinten. Der erste Rahmen der Liste (der mit dem wiederholende Elemente-Platzhalter) kann nicht verschoben werden. |
Derzeit können wiederholende Elemente in zwei verschiedenen Modi in Layoutrahmen verteilt werden - Spaltenweise und Zeilenweise.
Einstellung | Beschreibung | Vorschau |
Zeilenweise | Die wiederholenden Elemente werden von in horizontaler Richtung im Layoutrahmen platziert. Wenn ein wiederholendes Element nicht mehr rechts/links neben das letzte Element platzierbar ist, wird eine neue Zeile begonnen. | ![]() |
Spaltenweise | Die wiederholenden Elemente werden in vertikaler Richtung im Layoutrahmen platziert. Wenn ein wiederholendes Element nicht mehr über/unter das letzte Element platzierbar ist, wird eine neue Spalte begonnen. | ![]() |
Die Einstellungen der Aufbaurichtungen beeinflussen den Startpunkt des Aufbaus der wiederholenden Elemente und die Richtung in der diese platziert werden.
Beim Zeilenweisen Aufbau steuert die horizontale Aufbaurichtung die Platzierung der einzelnen wiederholenden Elemente, die vertikale Aufbaurichtung steuert die Richtung der Zeilen als Ganzes.
Beim Spaltenweisen Aufbau steuert die horizontale Aufbaurichtung die Platzierung der Spalten als Ganzes, die horizontale Aufbaurichtung steuert die der einzelnen wiederholenden Elemente als Ganzes.
Der Anfangspunkt der Platzierung der wiederholenden Elemente hängt von den Einstellungen der Aufbaurichtung ab:
Horizontale Richtung | Vertikale Richtung | Anfangspunkt |
Links nach rechts | Oben nach unten | Oben links |
Rechts nach links | Oben nach unten | Oben Rechts |
Links nach rechts | Unten nach oben | Unten links |
Rechts nach links | Unten nach oben | Unten rechts |
Beispiele:
Einstellung | Vorschau |
Zeilenweise, links nach rechts, oben nach unten | ![]() |
Zeilenweise, rechts nach links, unten nach oben | ![]() |
Spaltenweise, links nach rechts, unten nach oben | ![]() |
Spaltenweise, rechts nach links, oben nach unten | ![]() |
Beachten Sie, dass der Anfangspunkt des Aufbaus nicht für gleichbedeutend mit der späteren tatsächlichen Platzierung des Elements ist. Diese kann sich durch die Einstellung der Ausrichtungen der Elemente und Zeilen/Spalten ändern.
Die interne Ausrichtung der Zeilen und Spalten bestimmt die Ausrichtung der wiederholenden Elemente zur Zeile oder Spalte. Wenn z.B. bei einer Zeilenweisen Platzierung wiederholende Elemente unterschiedlicher Höhe platziert werden, können diese an der Oberkante, Unterkante oder der Mitte der Höhe der Zeile ausgerichtet werden.
Bei zeilenweiser Platzierung steuern diese Parameter die vertikale Ausrichtung der Elemente relativ zur Zeile, bei spalteweiser Platzierung die horizontale Ausrichtung zur Spalte.
Die interne Ausrichtung kann jeweils für die erste und letzte Spalte/Zeile und alle Zwischenzeilen- und Spalten individuell konfiguriert werden.
Einstellung | Beschreibung | Vorschau |
Zeilenweise Platzierung | ||
Oben | Ausrichtung der Oberkante der Elemente an der Oberkante der Zeile | ![]() |
Mitte | Ausrichtung der vertikalen Mitte der Elemente an der vertikalen Mitte der Zeile | ![]() |
Unten | Ausrichtung der Unterkante der Elemente an der Unterkante der Zeile | ![]() |
Spaltenweise Platzierung | ||
Links | Ausrichtung der Elemente an der linken Kante der Spalte | ![]() |
Mitte | Ausrichtung der horizontalen Mitte der Elemente an der horizontalen Mitte der Spalte | ![]() |
Rechts | Ausrichtung der Elemente an der rechten Kante der Spalte | ![]() |
Die Ausrichtung am Rahmen steuert die Verteilung der wiederholenden Elemente an den Rahmenkanten. Bei zeilenweiser Platzierung steuern diese Parameter die horizontale Verteilung der Elemente im Rahmen, bei spaltenweiser Platzierung die vertikale Verteilung.
Einstellung | Beschreibung | Vorschau |
Zeilenweise Platzierung | ||
Links | Die Zeile der Elemente wird an der linken Rahmenkante ausgerichtet | ![]() |
Mitte | Die horizontale Mitte der Zeile wird an der horizontalen Mitte des Rahmens ausgerichtet | ![]() |
Rechts | Die Zeile der Elemente wird an der rechten Rahmenkante ausgerichtet | ![]() |
Horizontaler Keil | Die Elemente der Zeile werden gleichmäßig über die gesamte Rahmenbreite verteilt. Mit dieser Einstellung wirkt der X-Abstand als Mindestabstand. | ![]() |
Spaltenweise Platzierung | ||
Oben | Die Spalte der Elemente wird an der Oberkante des Rahmens ausgerichtet | ![]() |
Mitte | Die vertikale Mitte der Spalte wird an der vertikalen Mitte des Rahmens ausgerichtet | ![]() |
Unten | Die Spalte der Elemente wird an der Unterkante des Rahmens ausgerichtet | ![]() |
Vertikaler Keil | Die Elemente der Spalte werden gleichmäßig über die gesamte Rahmenhöhe verteilt. Mit dieser Einstellung wirkt der Y-Abstand als Mindestabstand. | ![]() |
Die Verteilung im Rahmen steuert die Verteilung der fertig platzierten Spalten/Zeilen innerhalb des Rahmens. Diese Einstellungen betrachten die Zeilen/Spalten als ganzes. Bei zeilenweiser Platzierung steuern diese Parameter die vertikale Verteilung der Zeilen im Rahmen, bei spaltenweiser Platzierung die horizontale Verteilung.
Einstellung | Beschreibung | Vorschau |
Zeilenweise Platzierung | ||
Oben | Die Oberkante aller Zeilen wird an der Oberkante des Rahmens ausgerichtet | ![]() |
Mitte | Die vertikale Mitte aller Zeilen wird an der vertikalen Mitte des Rahmens ausgerichtet | ![]() |
Unten | Die Unterkante aller Zeilen wird an der Unterkante des Rahmens ausgerichtet | ![]() |
Vertikaler Keil | Die Zeilen werden gleichmäßig über die gesamte Rahmenhöhe verteilt. Mit dieser Einstellung wirkt der Y-Abstand als Mindestabstand. | ![]() |
Spaltenweise Platzierung | ||
Links | Die linke Kante aller Spalten wird an der linken Rahmenkante ausgerichtet | ![]() |
Mitte | Die horizontale Mitte aller Spalten wird an der horizontalen Mitte des Rahmens ausgerichtet | ![]() |
Rechts | Die rechte Kante aller Spalten wird an der rechten Rahmenkante ausgerichtet | ![]() |
Horizontaler Keil | Die Spalten werden gleichmäßig über die gesamte Rahmenbreite verteilt. Mit dieser Einstellung wirkt der X-Abstand als Mindestabstand. | ![]() |
Die Einstellungen der Mindestabstände konfigurieren die Mindestabstände der Elemente und Spalten/Zeilen zueinander.
Zeilenweise Platzierung:
Spaltenweise Platzierung:
Die Aufbaufläche kann mit der Anzahl der wiederholenden Elemente bis zum unteren Seitenende mitwachsen. Die Breite der Aufbaufläche bleibt dabei unverändert. Öffnen Sie dazu die Palette Template-Verhalten und klicken Se bei gehaltener CMD-Taste in die dritte Spalte der Rahmeneinstellungen bis das gefüllte Dreieck erscheint.
Danach können Sie die Höhe des Rahmens so ändern, dass das Template auch bei wenigen oder sehr kleinen wiederholenden Elementen keinen Seitenwechsel auslöst.
Bitte beachten Sie: Eine automatische Fortsetzung der Aufbaufläche auf folgenden Dokumentseiten ist nicht möglich.
In diesem Bereich befinden sich unten verschiedene Werkzeuge:
Icon | Beschreibung |
![]() |
Reorganisieren: Reorganisiert die im Dokument existierenden wiederholenden Elemente der aktuellen Rahmenkette unter Berücksichtigung der Einstellungen der Palette. Elemente die nicht mehr ins Dokument oder in die Layoutrahmen passen werden dabei aus dem Dokument entfernt. |
![]() |
Automatische Reorganisation: Wenn dieser Knopf eingeschaltet ist (rot) bewirkt jede Änderung einer Einstellung der Palette eine sofortige Reorganisation der wiederholenden Elemente der aktuellen Rahmenkette. |
Der rechte Teil der Palette befasst sich mit bereits aufgebauten wiederholenden Elementen. Bereits im Dokument existierende aufgebaute Elemente werden hier als Liste dargestellt. Hier können Elemente im Dokument in ihrer Reihenfolge neu arrangiert oder entfernt werden.
Einstellungen die hier gemacht werden werden bei der nächsten Reorganisation wirksam.
1. Vorschau der Rahmen des Elementes
2. Anzahl der Rahmen des Elementes
3. Dieser Knopf selektiert die zugehörigen Rahmen im Dokument
Die Reihenfolge der Elemente in der Liste kann auch per drag-and-drop verändert werden.
Unten befinden sich verschiedene Werkzeuge zur Bearbeitung der Liste der existierenden wiederholenden Elemente:
Icon | Beschreibung |
![]() |
Rahmen entfernen: Entfernt alle Rahmen des in der Liste ausgewählten Elementes. Die Rahmen werden aus dem Dokument gelöscht. |
![]() |
Rahmen in Reihenfolge nach oben verschieben: Verschiebt das in der Liste ausgewählten Element in der Reihenfolge eine Position nach oben. |
![]() |
Rahmen in Reihenfolge nach unten verschieben: Verschiebt das in der Liste ausgewählten Element in der Reihenfolge eine Position nach unten. |
Das Zusammenstellen der Produkte, die in einem wiederholenden Element aufgebaut werden sollen, kann auch über ein cScript erfolgen. Weitere Infos dazu finden Sie hier.
Zur Konfiguration der Layoutrahmen stehen eine Reihe an cScript-Funktionen zur Verfügung. Diese Funktionen ermöglichen des Konfigurieren von Layoutrahmen mit der gleichen Funktionalität der Palette.
Zwar können die Layouteinstellungen eines Rahmens per cScript verändert werden, jedoch sollte das nicht während des Aufbaus von wiederholenden Elementen geschehen.
Veränderungen der Layoutkonfiguration eines Rahmens während dieser in einen wiederholenden-Elemente-Aufbau involviert ist, führen zu unvorhersehbaren Ergebnissen!
Folgende Funktionen stehen zur Verfügung:
Mitunter kann es erwünscht sein, die Elemente eines Produktes unregelmäßig zu verteilen. Hier ein Screenshot zweier Flyer mit unterschiedlich verteilten Elementen:
Dazu müssen Sie die relativen XY-Positionen der einzelnen Elemente kennen und im Formatstring des wiederholenden Elementes weitergeben. Folgende Angaben sind dafür nötig:
Das Beispiel xmldata-multiframe enthält die zwei im obigen Screenshot gezeigten wiederholenden Elemente.
Der Platzhalter hat das Build-Skript:
#pragma plain "$PRODUCTS" select ...id, id, 0, '', 3, 1, "type=stagger;pin=lt;link=(0);offset= (0.0, 0.0);post=autoload;" || relpos node products.product where id =relpos ist als XML-Attribut der 'Produkte' in $PRODUCTS" definiert z.B. alsnode articles.article
relpos="pin=lt + (110, 0)"Template 1, das n-fach wiederholte Element selbst, enthält lediglich einen Bildrahmen. Der Bildname entspricht dem im XML-Attribut name definierten 'Produkt'namen. $PRODUCTS" ist mit Hilfe der Palette Fenster -> Comet -> Einstellungen als Verweis auf die Datei xmldata-multiframe/products.xml definiert.