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 |
---|---|
PrintDocument\Reference\Lib\Event\OnPopulatePageReferences | Ebene: Sammeln der Referenzen für alle PrintElements der PrintPage |
PrintDocument\Reference\Lib\Event\OnPopulateElementReferences | Ebene: Sammeln der gepflegten Referenzen des PrintElements |
PrintDocument\Reference\Lib\Event\OnPopulateFormatter | Möglichkeit, Formatierungen zu erweitern. Siehe auch Abschnitt für Formatierungen. |
(Input/Select source) PrintReferenceFormatter | 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.
Es sollten bitte alle Funktionen funktionsfähig ausformuliert werden.