Meta
Das brandbox-Paket "Base/Meta" stellt eine Zusammenfassung eines Datensatzes dar. Neben den Standardinformationen wie bspw. der ID, das Erstell- und das Bearbeitungsdatum des Datensatzes können über Events weitere Informationen ergänzt werden.
Programmatischer Abruf der Komponente
Die abgerufene Komponente ist eine Instanz von FrameworkContainer
, welcher durch den Styleguide framework-styleguide bereitgestellt wird. Dadurch ist diese Komponente direkt in einer UI nutzbar.
Abrufen der Metakomponente
use Brandbox\Framework\Brandbox\Dbal;
use Brandbox\Framework\Base\Meta;
$entity = //... Instanz von Dbal\Definition\EntityInterface;
$element = $this
->staticController(Meta\Manager::class)
->get($entity)
;
Programmatische Erweiterung der Komponente
Die Metakomponente besteht aus einem Container und einer Tabelle mit dynamischen Informationen. Somit können auch Elemente außerhalb dieser Informationstabelle eingebracht werden. Hierfür stellt Base/Meta die folgenden Events zur Verfügung. Diese sind innerhalb des Namespaces Brandbox\Framework\Base\Meta\Lib\Event
zu finden. Weitere Informationen zu Events finden sie hier.
Klassenname | Beschreibung |
---|---|
| Befüllt die Instanz des zurückgegeben FrameworkContainer |
| Befüllt die Informationstabelle der Metainformationen. Dieses Event wird innerhalb von OnPopulateContainer ausgelöst. |
Feldinhalte in Informationstabelle darstellen
Neben der programmatischen Erweiterung der Informationstabelle steht auch eine konfigurative Möglichkeit zur Verfügung. Hierzu wird die frei definierbare Konfiguration von Eingabefeldern genutzt. Diese steht sowohl in den Widgetdefinitionen als auch in der Datenmodellierung zur Verfügung.
Konfiguration eines Eingabefeldes
{
"BaseMetaEnabled": true
}
Alle Eingabefelder eines Datensatzes mit der zuvor beschriebenen Konfiguration werden beim Aufbau der Metakomponente automatisch mit in die Informationstabelle aufgenommen.