Mithilfe der Datensatzvorlagen können Datensätze auf Basis einer Strukturdefinition, Formularmaske oder auch anderen Tabelle erstellt werden. Sobald eine Datensatzvorlage für eine Datenbanktabelle defniert wurde, erscheint in der Toolbar der Datensatzliste die neue Schaltfläche " Mit Vorlage anlegen". Ein Klick auf diese Schaltfläche öffnet einen Modal mit den innerhalb der Vorlage definierten Eingabefeldern.
Zuordnen einer Datensatzvorlage
Eine Datensatzvorlage muss der gewünschten Zieltabelle über die Tabellenkonfiguration zugeordnet werden. Diese Konfiguration wird innerhalb der widget.json des Pakets hinterlegt.
{ "name": "Example/Package", "tables": [ { "identifier": "ExampleEntityIdentifier", // [...] "configuration": { // Einer der folgenden Angaben "FrameworkTemplateTemplate": "definition:[Pfad zur Strukturdefinition]", "FrameworkTemplateTemplate": "repository:[Identifikator der Tabelle]", "FrameworkTemplateTemplate": "mask:[ID der Formularmaske]" } } ], "relations": [] }
Definition einer Datensatzvorlage
Eine Datensatzvorlage kann eine Strukturdefinition, eine Formularmaske oder auch eine Datenbanktabelle sein. In allen Fällen muss allerdings den Eingabefeldern der Vorlage vorgegeben werden, wie diese sich in die Zieltabelle einfügen. Diese Konfiguration findet pro Eingabefeld in der entsprechend Feldkonfiguration statt.
{ "FrameworkTemplateTarget": "[Identifikator des Eingabefeldes in Zieltabelle]" }
{ "FrameworkTemplateMapping": { "[Feld in Tabelle der Datensatzauswahl]": "[Feld in Zieltabelle]" } }
Programmatische Eingriffsstellen (Events)
Klassenname | Beschreibung |
---|---|
\Brandbox\FrameworkTemplate\Template\Template\Lib\Event\OnExecuteCreate | Ermöglicht den Eingriff in das Erstellen des Zieldatensatzes durch die Datensatzvorlage. Hier können bspw. weitere Werte in den zu erstellenden Zieldatensatz geschrieben werden. |
\Brandbox\FrameworkTemplate\Template\Template\Lib\Event\OnPopulateCreate | Ermöglicht den Eingriff in das Formular der Datensatzvorlage. Hier können bspw. Werte von Eingabefeldern gesetzt werden oder Eingabefelder hinzugefügt werden. |
Rollenschemata
Name | Beschreibung | Datenzugriffe | Funktionsrechte |
---|---|---|---|
Template Operator (TemplateOperatorScheme) | Gibt die notwendigen Funktionsrechte für die Datensatzvorlagen frei. | keine | Die Engine-Methoden von Template/Template |