Die Anwenderdokumentation mit einer Erklärung des Features findet sich hier.
Ablauf
Bei
Render\Lib\Event\OnPopulateScopeDocument
undRender\Lib\Event\OnPopulateScopePage
wird dasPrintDocument
, bzw. diePrintPage
, nachPrintElement
durchsucht, bei denen Referenzen gepflegt wurden. Diese werden gesammelt und (intern) im Cache vonPrintDocument/Reference
gespeichert.Über
Reference\Manager::replace
(auch durchRender\Lib\Struct\ElementHelperTrait::processReference
) werden beim Verarbeiten des PrintElements zu einem SG-Element die Platzhalter des angegebenen Texts mit einer Referenz ersetzt. Die Referenz ist ein sup-Element für das hochgestellte Symbol und besitzt einen Identifier zur Identifikation.Der View
PrintLayoutStandard\View\PrintReference\Engine::reference
bezieht die im ersten Schritt aufgebaute Struktur durchReference\Manager::getPageReferences
und wandelt dieses in einPrintStyleguide\Entity\PrintReference
-Objekt um.
Events
Event | Beschreibung |
---|---|
| Ebene: Sammeln der Referenzen für alle PrintElements der PrintPage |
| Ebene: Sammeln der gepflegten Referenzen des PrintElements |
| Möglichkeit, Formatierungen zu erweitern. Siehe auch Abschnitt für Formatierungen. |
| Eine source für Input/Select, mit der es möglich ist, Formatierungen zu hinterlegen. |
Formatierungen
Um eigene Formatierungen zu definieren, sind folgende Schritte notwendig:
Eine Formattierungsklasse mit einem extend aus
PrintDocument\Reference\Lib\Struct\FormatterAbstract
anlegen.Die Formatierung über Input/Select für die source PrintReferenceFormatter anbieten
Über das Event
PrintDocument\Reference\Lib\Event\OnPopulateFormatter
implementieren
Beim Zusammenbauen des Elements wird $element->formatter->format($next = true)
bei Beginn aufgerufen. Es sollte also darauf geachtet werden, dass der erste Durchlauf schon $next = true
setzt.
...