Custom-Lazy-Elemente mit Namespace handhaben#98
Custom-Lazy-Elemente mit Namespace handhaben#98christophboecker wants to merge 4 commits intomasterfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Der PR führt eine hash-basierte Identifikation für Custom-Lazy-Elemente (inkl. Namespace) ein und erweitert die Elementauflösung, damit Lazy-Elemente nicht mehr ausschließlich über den Klassennamen im Klartext gefunden werden müssen.
Changes:
- Neue API-Methoden
cssClass()undjsId()amrex_minibar_elementeingeführt. elementByClass()so erweitert, dass sowohl Klartext-Klassenname als auch Hash-Identifier funktionieren.- Fragment-Rendering auf
cssClass()/jsId()umgestellt und PHPDoc korrigiert.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| lib/minibar.php | Elementauflösung akzeptiert jetzt Klassenname oder Hash (jsId()) |
| lib/element/element.php | Neue API für CSS-Klasse und anonymisierte JS-ID (MD5 + Prefix) |
| fragments/minibar/minibar_element.php | Ausgabe nutzt cssClass() und Lazy-URL nutzt jsId() |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
skerbis
left a comment
There was a problem hiding this comment.
@christophboecker ich habe noch ein paar Kleinigkeiten vom Copilot Review durchgeführt
|
Wir sollten bei Umstelleung auf PHP Namesapce auch das beherzigen: |
christophboecker
left a comment
There was a problem hiding this comment.
Siehe Anmerkung. Alles andere kann man machen.
Hallo Thomas, das ist gewiss ein spannendes Thema. Bei meinen bisherigen Versuchen in Sachen Shadow-DOM ist mir früher oder später (eher früher) der Kragen geplatzt und ich hab es bleiben gelassen. Ich biete die Umstellung auf Namespace an, aber nicht auf Webcomponent und schon garnicht mit Shadow-DOM. |
siehe #97
Der PR basisert auf der Lösungsvariante 3 des Issues:
Details zur Lösung:
elementdes Addons erzeugt.rex_minifierist die Suche nach dem passenden Element via Klassenname (->elementByClass(...)) erweitert auf "Klassenname oder Klassenname-basierter Hash".Keine Änderungen in der Doku; die Änderungen betreffen Hintergrundaktionen. Bzgl. der Element-basiserten CSS-Klasse gibt es jetzt keine Hinweise in der Doku; zumindest habe ich keine gefunden. Daher habe ich auch keinen Passus zur neuen Methode
elementklasse->cssClass()geschrieben.Mit einem Custom-Lazy-Element mit Namespace erfolgreich getestet.
@skerbis Falls Du als Maintainer der Meinung bist, dass die Änderungen einen BC darstellen und deshalb ein Major-Relase 3.0 erzeugt werden müsste, bitte ich Dich, damit noch zu warten. Für das nächste Major-Release würde ich das Addon gerne komplett auf Namespace umstellen.