Sektionen

Code-Sektionen (kurz: Sektionen) befinden sich links vom Template-Code. Sie können verschachtelt sein und fast beliebigen C#-Code beinhalten.

Wenn man eine Sektion anwählt, kann der Inhalt im unteren Bereich bearbeitet werden. Neben Optionen ist es auch möglich, einen Namen zu vergeben. Aufgrund ihrer Hauptfunktion unterscheidet man verschiedene Sektionstypen. Jeder Typ wird der Übersichtlichkeit halber in einer anderen Farbe hinterlegt.
Sektionstypen

  1. if / for – Sektion
    Schleifen funktionieren “automatisch”. Sobald das entsprechende Schlüsselwort wie if oder for erkannt wurde, ist der Sektionstyp damit festgelegt.
  2. Import-Sektion
    Eine Import-Sektion fügt ein anderes Template dynamisch in das aktuelle Template ein. Diese Funktion eignet sich besonders für eine wiederverwendbare Template-Struktur. Um eine Import-Sektion zu erstellen, schreibt man import in die Code-Sektion. Die Parametrierung erfolgt dadurch, dass man die Code-Sektion zweizeilig aufzieht und in den Templatebereich die Werte schreibt.

    • 1. Zeile: Pfad zum AGen-Template, das importiert werden soll,
    • 2. Zeile: Parameter, die an das Template übergeben werden.

    Beispiel

    postgres/indices
    currentDatabase,42

    Das Beispiel führt das Template postgres/indices aus und fügt das Ergebnis in die zur Zeit erzeugte Datei ein. Als Parameter werden ein Objekt und eine Zahl übergeben, die das Verhalten des dynamisch eingefügten Templates steuern.

  3. Run-Sektion
    Eine Run-Sektion startet ein anderes Template. Sie fügt die Ausgabe aber nicht in das aktuelle, sondern in eine weitere Ausgabe-Datei ein. Run-Sektionen eignen sich z.B. um den kompletten Bereich einer Anwendung (z.B. Frontend) als Batch zu generieren. Um eine Run-Sektion zu erstellen, schreibt man run in die Code-Sektion. Die Parametrierung erfolgt dadurch, dass man die Code-Sektion dreizeilig aufzieht und in den Templatebereich die Werte schreibt.

    • 1. Zeile: Pfad zum AGen-Template, das gestartet werden soll,
    • 2. Zeile: Ausgabepfad des generierten Codes
    • 3. Zeile: Parameter, die an das Template übergeben werden.

    Beispiel

    frontend/html/popupTemplate
    D:\myProject\templates\²entity:Name²Popup.html
    entity,true

    In diesem Beispiel wird ein HTML-Popup generiert, das spezifisch auf eine Entität zugeschnitten ist. Der Name der Entität bestimmt den Dateinamen; außerdem wird das gesamte XElement der Entität an das Untertemplate übergeben – zusammen mit dem Wert true, der das Verhalten des Untertemplates weiter steuern kann.