Print Events für die Generierung

Übersicht

Generierung Konfiguration

Die Generierung Konfiguration kann um Felder erweitert werden, um Informationen direkt vor dem Generieren abzufragen und in die Generierung rein zu reichen.

Ein Beispiel dafür ist die Sprache, für die generiert werden soll. Diese wird vor dem Generieren abgefragt und dann zum Beispiel von den Texten für die Silbentrennung verwendet.

Mit \Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnPopulateRenderTypes kann auch ein eigener RenderType (Ausgabeart) eingeführt werden. Darauf muss dann natürlich in \Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnExecuteGenerate reagiert werden.

\Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnExecuteGenerate wird mit den Daten des Dialogs aufgerufen und baut einen AdvancedResponseStack auf, der dann zurückgegeben wird. Die oben beschriebenen Ausgabe reagieren abhängig des $type auf dieses Event.

Generierung

Das tatsächliche Verarbeiten der Werte aus dem Generierungsdialog, bzw. das Generieren des HTML geschieht dann in einem neuen Request. Um hier einzugreifen, können die Events für das Erweitern der Scopes verwendet werden. Die Scopes dienen beim Rendern als inhaltliche Struktur des Dokumentes, bzw. der Seiten. Diese Events sind \Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnPopulateScopeDocument, OnPopulateScopePage, OnPopulateScopeElement.

Mit \Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnExecuteRender kann auf den Prozess beim tatsächlichen Rendern des Dokumentes zugegriffen werden.

\Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnExecuteRender bietet eine Möglichkeit auf das Element aus dem return der View-Methode zuzugreifen. Standardmäßig wird hier das ID-Attribut des Elements gesetzt und zum Beispiel auch data-print-keywords befüllt.

Nachdem das HTML erzeugt wurde, wird dann noch via Brandbox/Placeholder die Platzhalter ersetzt. Um den Kontext dazu zu definieren, kann \Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnPopulateContextPlaceholder verwendet werden.

Hintergundbild

Um ein Hintergrundbild zu bearbeiten oder zu ersetzen, kann \Brandbox\PrintCore\PrintDocument\Render\Lib\Event\OnPopulateBackground verwendet werden. Siehe auch Anwenderdoku.