TC/Plugin-Architektur: Sollen wir mehr Kontrolle über Klassen haben?

Ich habe kürzlich eine kleine Komponente zu .gjs im Locations Plugin verschoben. Sie fügt dem Website- und dem Locations-Outlet im Benutzerprofil eine alternative Form des Standorts hinzu. Gleichzeitig werden die redundanten Standortinformationen ausgeblendet, die durch den Code des Plugins ersetzt werden.

Ich habe den zuvor geschriebenen Code anhand moderner Standards neu bewertet.

Jetzt ist die Verwendung von Plugin-Outlets zwar gut und schön, aber sollten wir auch die Möglichkeit haben, die übergeordnete Klasse des umschließenden Divs über dem Outlet zu beeinflussen?

Denn derzeit muss ich in diesem Fall das DOM manipulieren, um redundante Informationen seines Geschwisters auszublenden:

Ich würde diese Änderung lieber durch explizite Modifikation einer Komponente vornehmen als durch DOM-Manipulation?

Vielleicht habe ich hier einen Trick übersehen.

1 „Gefällt mir“

Können Sie skizzieren, wie Sie sich eine solche API auf der Kern- und Plugin/Theme-Seite vorstellen würden?

Eine ähnliche Sache, die wir haben, ist der {{body-class \"blah\"}}-Helfer. Wenn Sie ihn in einen beliebigen Outlet einfügen, wird die Klasse “blah” auf den <body> angewendet.

4 „Gefällt mir“

Eine weitere Idee ist die Verwendung eines ausgefalleneren CSS-Selektors. Zum Beispiel unterstützen alle Zielbrowser von Discourse jetzt :has()

(aber es ist wichtig, die Leistung bei der Verwendung zu berücksichtigen)

2 „Gefällt mir“

Ah, ich habe also einen Trick übersehen :sweat_smile:

Ja, das bevorzuge ich gegenüber der has-Option.

Oh, das könnte es in diesem Fall für mich tun, sehr hilfreich, lass mich das mal ausprobieren!

4 „Gefällt mir“

FYI, das hat anscheinend gut funktioniert:

vielen Dank, David!

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.