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": [] }
Zuordnen mehrere Datensatzvorlagen
Es können auch mehrere Datensatzvorlagen in einer Zieltabelle definiert werden. Bei mehreren Datensatzvorlagen wird die Schaltfläche in der Toolbar in ein Dropdown umgewandelt um alle Datensatzvorlagen für die Zieltabelle anzuzeigen.
{ "name": "Example/Package", "tables": [ { "identifier": "ExampleEntityIdentifier", // [...] "configuration": { "FrameworkTemplateTemplate": { "[Identifikator]": "definition:[Pfad zur Strukturdefinition]", "[Identifikator]": "repository:[Identifikator der Tabelle]", "[Identifikator]": "mask:[ID der Formularmaske]" } } } ], "relations": [] }
Jeder Datensatzvorlage muss ein eindeutiger Identifikator zugeordnet werden welcher innerhalb des Codes und für die Übersetzung der Datensatzvorlage genutzt wird. Der anzuzeigende Name der Datensatzvorlage wird aus den Übersetzungen für das Paket der Zieltabelle bezogen. Hierbei wird als ID der Übersetzung das Schema FrameworkTemplate[Identifikator]
genutzt.
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 |