-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linkerzeugung im SimpleMarker erweitern #25
Comments
Ein alternative Weg wäre die Nutzung des data-Wraps im cObject. Mit einem DataWrap kann man auf Attribute eines Datensatz einer anderen Tabelle zugreifen.
Damit holt der Wrap die uid aus dem aktuellen Array in cObj.data. Statt field kann man auch Schlüssel wie page, tsfe, getenv usw. verwenden. Ausgewertet wird das ganze in ContentObjectRenderer::getData()
Über rn_base könnten wir einen Container bereitstellen in den die Markerklassen relevante Objekt-Instanzen für den DataWrap zur Verfügung stellen können. Dann müssen wir nur noch diesen Hook implementieren und können auf die Daten zugreifen! |
Falls dabei Sachen generiert werden, die auf der Seite ausgegeben werden sollen/können, ist es wichtig, dass die Daten immer per htmlspecialchars enkodiert werden, damit man kein persistentes XSS hat. |
Es geht hier um die Bereitstellung von Daten aus den Entities, die das Plugin für die Ausgabe verarbeitet. Diese stammen aus der Datenbank und wurden in der Regel von BE-Nutzern angelegt. Wenn wir da ein RTE-Feld per htmlspecialchars bearbeiten, wäre das eher kontraproduktiv. 😉 |
Was mir aber natürlich gerade einfällt, speziell für die Linkerzeugung sollte man HTML-Tags natürlich entwerten. Sonst entsteht auch kein valides HTML mehr. |
Die Idee finde ich sehr gut! |
Der SimpleMarker sollte vor der Linkerzeugung den Data-Record des aktuellen Items in das data-Attribut des cObject schreiben. Damit kann die Link-Erzeugung Bezug auf diesen Datensatz nehmen. Man kann bspw. die Zielseite ändern oder das Alt- bzw. Title-Tag mit Informationen aus dem Datensatz befüllen.
Nachteil: Man hat keinen Zugriff mehr auf das Content-Element. Da ist in aller Regel das Plugin in tt_content.
The text was updated successfully, but these errors were encountered: