Velocity-Dokumente bearbeiten
Zurück Allgemeines
Wenn in einem Modul ein HTML-Druck ausgeführt wird, wird eine mit dem Modul mitgelieferte Vorlagedatei herangezogen.
Dies geschieht durch die Software Velocity, die an enstprechenden Stellen Ersetzungen vornimmt und so die Seite mit Inhalt füllt.
Die Velocity-Vorlagen haben immer die Endung .vm und liegen im Ordner "\vorlagen\html\vm\". Sie können mit einem beliebigen Editor, beispielsweise mit dem von Windows mitgelieferten Notepad geöffnet und bearbeitet werden.
Die Vorlagen sind im HTML-Code geschrieben (Allgemeines zu HTML) und können dementsprechend leicht bearbeitet werden.
Es ist aber in jedem Fall zu empfehlen, die Datei vor der Änderung zu sichern!Beispiel
Der Ausdruck von Betriebsstättendaten setzt sich aus mehreren Vorlagen zusammen, unter anderem aus der Datei "bt.vm", die ungefähr folgenden Inhalt hat:
<br><h2><a name="bt">Personen</a></h2>
<table>
<tr>
<th>Personen-Art</th>
<th>Name</th>
<th>Adresse</th>
<th>Telefon</th>
<th>Telefax</th>
<th>Verf. / BE</th>
</tr>
#foreach ($persondat in $PERSONEN)
#set ($art_int = $persondat.getPerson().getPersonenArt())
#set ($art_text = $TOOLS.getKatalogEintrag("BT_ART", $art_int))
#if ($BSLang || $BEBT.isVerfahren($persondat.getZuordnung()))
<tr>
<td>$art_text </td>
<td>$TOOLS.toHtmlString($persondat.getPerson().getVorname()) $TOOLS.toHtmlString($persondat.getPerson().getName()) ;</td>
<td>$TOOLS.toHtmlString($persondat.getPerson().getPostleitzahl()) $TOOLS.toHtmlString($persondat.getPerson().getOrt())
#if (!$TOOLS.isEmpty($persondat.getPerson().getStrasse()))
$TOOLS.toHtmlString($persondat.getPerson().getStrasse())
#end
</td>
<td>$TOOLS.toHtmlString($persondat.getPerson().getTelefonNummer()) </td>
<td>$TOOLS.toHtmlString($persondat.getPerson().getFaxNummer()) </td>
<td>$TOOLS.toHtmlString($BEBT.getVerfahrenName($persondat.getZuordnung())) </td>
</tr>
#end
#end
</table>
Legende:
fester Anzeigetext
HTML-Code
Velocity-Code
Diese Vorlage sorgt für folgende Ausgabe:
Erklärung
Im oberen Teil wird eine Überschrift sowie eine erste Tabellenzeile mit den Tabellenüberschriften angelegt. Diese können hier natürlich nach Belieben verändert werden.
Danach folgt die Syntax:
"#foreach ($persondat in $PERSONEN)
[...]
<tr>
[...]
</tr>
#end"
Es wird also für jede Person, die der Betriebsstätte zugeordnet ist, eine weitere Tabellenzeile erstellt.
Auch die Tabellenzellen werden hier erstellt, beispielsweise:
"<td>$TOOLS.toHtmlString($persondat.getPerson().getVorname()) $TOOLS.toHtmlString($persondat.getPerson().getName()) </td>"
Hier wird erst der Vorname, dann der Nachname der Person in die Datei geschrieben.
Sollen Tabellenspalten gelöscht werden, muss sowohl die entsprechende Tabellenüberschrift als auch die richtige Tabellenzelle entfernt werden, da der Inhalt der Zellen sonst nicht mehr zur Überschrift passen würde.
Auch innerhalb der Tabellenzellen ist eine Änderung möglich, beispielsweise:
"<td>$TOOLS.toHtmlString($persondat.getPerson().getName()), $TOOLS.toHtmlString($persondat.getPerson().getVorname()) </td>"
Nun würde als Ausgabe erst der Nachname, dann ein Komma und dann der Vorname erscheinen.
Velocity-Dateien enthalten manchmal auch Abfragen, diese sollten aber nicht verändert werden:
"#if (!$TOOLS.isEmpty($persondat.getPerson().getStrasse()))
, $TOOLS.toHtmlString($persondat.getPerson().getStrasse())
#end"
Nur wenn eine Straße gefunden wird, wird diese auch ausgegeben.
Ein Löschen der kompletten Abfrage vom "#if" bis zum "#end" ist natürlich unproblematisch, falls der darin enthaltene Inhalt nicht mehr dargestellt werden soll.
Zurück