Erweiterbarkeit
Das Inhaltsverzeichnis ist in zwei Bereiche getrennt. Das Sammeln der Einträge über PrintDocument/Toc
und das Darstellen der Einträge über View/Toc
. Die Darstellung über View/Toc
ist dabei nicht erweiterbar, aber das Sammel über PrintDocument/Toc
hingegen über diese Events.
Event | Beschreibung |
---|---|
PrintDocument\Toc\Lib\Event\OnPopulateToc | Sammelt \Brandbox\PrintCore\PrintDocument\Toc\Lib\Struct\TocElement[] in Event\OnPopulateToc::$element anhand eines Kontextes. Weitere Informationen zum Kontext weiter unten. |
PrintDocument\Toc\Lib\Event\OnPopulateVariants | Sammelt die Varianten, welche bei den Print-Elementen im Feld Varianten auswählbar ist. Diese Varianten gelten für alle Elemente und machen keine Unterscheidung, welcher View verwendet wurde. |
Kontext
Die Eventstruktur in PrintDocument/Toc
arbeitet über einen Kontext. Dieses dient für die verschiedenen Eventimplementationen als Entscheidung, ob diese reagieren und welche Einträge gesammelt werden sollen. Für Erweiterungen kann hier ein eigener Kontext (und dann ein eigener View) auf Basis von ContextTocAbstract
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/Toc
entscheidet dann über den gepflegten Kontext bei den Elementeinstellungen, mit welchem ContextAbstract
\Brandbox\PrintCore\PrintDocument\Toc\Manager::get
aufgerufen wird, um eine Toc-Struktur zurückzubekommen.