Aufbau des Plugins
Ui/Dam wurde für die v5.6 an das neue Base angeglichen. Nahezu alle Benutzeroberflächen werden von Base bezogen und durch Events abgeändert. Da in DAM meist ein spezieller Kontext vorhanden ist und die Einstiegspuntke in Base aber sehr strikt sind, sind meist Umwege durch eigene Einstiegspunkte nötig, um sicherzustellen, dass der Kontext vorhanden ist und die Subscriber/Listener entsprechend darauf reagieren können.
Index
Die Index-Ansicht von DAM verfügt über einen eigenen Einstiegspunkt (\Brandbox\DamCore\Ui\Dam\Engine::jsonIndex
). Auf der Index-Ansicht werden zwei Base/Index-Ansichten platziert. Eine für Dateien und eine für die entsprechende Organisationseinheit (z.B. Ordner).
Zusätzlich wird im Einstiegspunkt von DAM der Kontext gesetzt; die aktive URI und die aktive Organisationseinheit (im Code $navigationEntity
). Der Kontext wird in den ApplicationProperties der Klasse Dam\Manager gespeichert. Demnach ist es unabdingbar diese Klasse stets statisch anzusprechen, um auf diese Werte zuzugreifen.
Die Index-Ansichten werden wie gewohnt über das Event Base/Index.OnPopulateIndex
erstellt.
Kontext und Toolbar
Das Dropdown für den Kontext der dargestellten Datensätze und die Toolbar werden ebenfalls über die Standard Events von Base bezogenund auch über diese von DAM erweitert. Die Subscriber lassen sich im entsprechenden Lib-Ordner finden.
Für jede Organisationseinheit und für mamFile gibt es mindestens jeweils einen Subscriber. Diese Subscriber lauschen auf Events, um z.B. das Kontextmenü zu befüllen.
Es ist zu beachten, dass manche Funktionen auch ohne ein installiertes DAM-System existieren. Lässt sich ein Kontextmenü- oder Toolbareintrag nicht in den Subscribern von Ui/Dam finden, sollten die entsprechenden Libraries überprüft werden (z.B: Base/File
, Base/Folder
, Dam/Category
etc.).