Layout anpassen

Generelle Hinweise

In der Hilfstabelle Layout werden die verwendeten Layouts hinterlegt. In einem Layout wird neben dem eindeutigen Kürzel und den in vier Sprachen möglichen Bezeichnungen für das Layout folgendes definiert:

  1. Das Ausgabeformat (A4 hoch, quer, A5 hoch, quer).
  2. Welches Layout-CSS dem Layout zugrunde liegt.
  3. Die Sortierreihenfolge der Anzeige für den Benutzer.
  4. Der Header, bzw. das einzubindende Header-Bild. Ab V2.3 kann die Höhe gesteuert werden.
  5. Die Paginierung der Seiten, etwa wenn Folgeseiten ein anderes Layout bzw. eine Nummerierung aufweisen sollen.
  6. Die Anzeige der Body-Elemente (Absender, Empfänger, Ort und Datum, Betreff, Anrede, Text, Unterschriften, Beilage).
  7. Der Footer, bzw. das einzubindende Footer-Bild. Ab V2.3 kann die Höhe gesteuert werden.

Hinweise

Die Styles werden im Layout-CSS definiert.

Der Benutzer hat auch die Möglichkeit, Versände direkt mit Layouts zu erstellen (ohne Verwendung von Vorlagen), weshalb Bezeichnung und Sortierreihenfolge entsprechend definiert werden sollten.

Je nach installierten Modulen stehen im Standard vordefinierte Layouts zur Vefügung, die angepasst/kopiert werden können. 
Die Verwendung von Platzhaltern (Freemarker Tags) ist in Header, Body und Footer des Layout-Datensatzes möglich. 

Der Header-Bereich

Der Header enthält HTML-Code, der über den key definiert, welches Header-Bild verwendet wird. Der Key entspricht dem Kürzel des hinterlegten Header-Bildes. Dieser Kürzel muss eineindeutig sein.

Beispiel:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="de">
<body>
<img src="[@loadImage path="relSerial_correspondence.relCorrespondence_template_type.rel
Correspondence_template_type_image" key="header_letter"/]" class="header_image"/>
</body>
</html>

Ab Version 2.3 gibt es die Möglichkeit, Headers/Footers pro Seite unterschiedlich zu definieren. Soll ab der 2. Seite ein anderes Header-Bild zum Einsatz kommen, so kann dies mit PD4ML wie folgt definiert werden:

Beispiel
<pd4ml:page.header scope="1">
<img src="[@loadImage path="relSerial_correspondence.relCorrespondence_template_type.rel
Correspondence_template_type_image" key="header_letter2"/]" class="header_image"/>
</pd4ml:page.header>

<pd4ml:page.header scope="2+">

<img src="[@loadImage path="relSerial_correspondence.relCorrespondence_template_type.rel
Correspondence_template_type_image" key="header_letter4"/]" class="header_image"/>

</pd4ml:page.header>

 

Hinweis

Verwendet man einen Header ohne Bild, sollte man dessen Höhe angeben. Alle <div>-Tags im Briefinhalt werden von der Unterkante des Headers positioniert und nicht vom oberen Seitenrand.

Der Footer-Bereich

Analog wird im Footer-Bereich über den key das Footer-Bild definiert. Es gelten dieselben Bedingungen wie für das Header-Bild.

Beispiel

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="de">
<body>
<img src="[@loadImage path="relSerial_correspondence.relCorrespondence_template_type.rel
Correspondence_template_type_image" key="footer_letter"/]" class="footer_image"/>
</body>
</html>

Paginierung

Im Korrespondenz-Template kann im die aktuelle Seitenzahl sowie das Seitentotal ausgegeben werden. Dafür stehen die Variablen $[page] (aktuelle Seite) und $[total] (Seitentotal) zur Verfügung. 

Soll bei mehrseitigen Briefen eine Paginierung zum Einsatz kommen, so kann der untenstehende Code im Header oder Footer eingebunden werden.

Beispiel
Einbindung des Codes in Header oder Footer.

<div class="pagination">
        $[page]/$[total]
</div>
 

Beispiel
Mit der Class wird die Position und das Aussehen der Paginierung definiert. Die Class ist entsprechend im Layout-CSS anzulegen.

.pagination{
		display:block;
		width:21cm;
		padding-left:18cm;
	}

Der Body-Bereich

Im Body-Bereich definieren Sie, welche Elemente angezeigt werden sollen. Sollen einzelne Elemente nicht angezeigt werden, können Sie diese in HTML auskommentieren oder löschen. Sollen weitere Angaben angezeigt werden, können Sie diese hinzufügen.

Element Beschreibung
<title> Nicht anzeigerelevant, wird nicht in den Versand ausgegeben.
<div class="sender"> Anzeige des Absenders mit Vorname, Nachname, Telefonnummer und E-Mail-Adresse
<div class="recipient"> Anzeige des Empfängers. Anrede und Adresse werden automatisiert gemäss hinterlegten Parameter generiert
<div class="location"> Anzeige des Orts und des Datums. Hier muss das Datumsformat definiert werden. Die Optionen für das Datumsformat finden Sie im Kapitel Direktiven.
<div class="container letter"> Steuert die Anzeige des gesamten folgenden Inhaltsbereichs
<div class="subject"> Anzeige des Betreffs
<div class="salutation"> Anzeige der automatisiert gemäss hinterlegten Parameter generierten Anrede
<div class="content"> Anzeige des Text-Bereichs
<div class="signatures_container"> Anzeige der Bereiche für 3 Unterschriften <div class="signature1">, <div class="signature2">, <div class="signature3"> inkl. Steuerungen
<div class="attachment"> Anzeige des Beilagen-Bereichs. Zur Anpassung dieses Bereich siehe unten.

Definition des Beilagen-Bereichs

Der folgende Code steuert die Anzeige der Beilagen, wenn das Feld "Beilagen" beim Erstellen des Versands ausgefüllt wird. Passen Sie hier den HTML-Code an, falls Beilagen nicht wie untenstehend definiert in einer unsortierten Liste <ul> angezeigt werden sollen. 

Beispiel
Anzeige der Beilagen als Liste

    [@loadValue path="relSerial_correspondence.attachment" name="attachment"/]
    [#if attachment != ""]
	<div class="attachment">Beilagen:<br>
	   <ul>
	      [@loadValue path="relSerial_correspondence.attachment" delimiter="n" lineStart="<li>" lineEnd="</li>"/]
	   </ul>
	</div>
    [/#if]
 

Beispiel
Mit dem folgenden Code wird der Zeilenumbruch in der Aufzählung gesteuert.

delimiter="\n" lineStart="<li>" lineEnd="</li>
 

Beispiel
Sollen die Beilagen ohne Aufzählungszeichen ausgegeben werden, erweitern Sie den Code für die Definition des <ul> wie folgt:

<ul style="list-style-type:none">