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.