Erweiterbarkeit
Das Stichwortverzeichnis ist in zwei Bereiche getrennt. Das Sammeln der Einträge über PrintDocument/Keyword
und das Darstellen der Einträge über View/Keyword
. Die Darstellung über View/Keyword
ist dabei nicht erweiterbar, aber das Sammel über PrintDocument/Keyword
hingegen über diese Events.
Event | Beschreibung |
---|---|
PrintDocument\Keyword\Lib\Event\OnPopulateKeywords | Sammelt \Brandbox\PrintCore\PrintDocument\Keyword\Lib\Struct\Keywords in Event\OnPopulateKeywords::$element anhand eines Kontextes. Weitere Informationen zum Kontext weiter unten. Hier werden die Einträge gesammelt, gruppiert und sortiert wird später. |
PrintDocument\Keyword\Lib\Event\OnGroupKeywords | Gruppiert die Einträge in Im Produktstandard wird alphabetisch nach dem ersten Zeichen des Keywords gruppiert. |
PrintDocument\Keyword\Lib\Event\OnSortKeywords | Sortiert die Einträge der Gruppen. Im Produktstandard wird innerhalb der Gruppen alphabetisch sortiert. |
Kontext
Die Eventstruktur in PrintDocument/Keyword
arbeitet über einen Kontext. Dieses dient für die verschiedenen Eventimplementationen als Entscheidung, ob diese reagieren und welche Keywords gesammelt werden sollen. Für Erweiterungen kann hier ein eigener Kontext (und dann ein eigener View) auf Basis von ContextKeywordAbstract
abgeleitet werden oder bei den Kontexten aus der Produktimplementation eingegriffen werden.
Die Produktimplementation arbeitet mit ContextDocument
für das Sammeln aller Einträge des mitgegebenen $documents
und ContextPage
sammelt alle Einträge der mitgegebenen $page
. Die Ansicht View/Keyword
entscheidet dann über den gepflegten Kontext bei den Elementeinstellungen, mit welchem ContextAbstract
\Brandbox\PrintCore\PrintDocument\Keyword\Manager::get
aufgerufen wird, um eine Stichwort-Struktur zurückzubekommen.
Gruppierung und Sortierung erweitern
Mit den Events OnGroupKeywords
und OnSortKeywords
kann auf die Sortierung eingewirkt werden. Um die Auswahl in der Ansicht View/PrintKeyword zu erweitern, kann das Auswahlfeld über die source 'PrintKeywordGroup' und 'PrintKeywordSort' erweitert werden.