Oh … das ist wirklich 
Lass mich das mal illustrieren.
Hier ist ein Selektor in der neuesten Version von Chatbot, beachte, dass er sich im “aus”-Zustand befindet:
Jetzt ändern wir diese Auswahl:
und es enthüllt sich wie durch
Einstellungen, die nur dann berücksichtigt werden müssen, wenn dieser Wert ausgewählt ist.
Das ist ein fantastischer Weg, um unnötigen Ballast in den Plugin-Einstellungen zu reduzieren und die Einrichtung mit weniger kognitiver Belastung zu vereinfachen 

12 „Gefällt mir“
Kiefer fällt runter Ich habe wirklich seeeeehr lange auf etwas in dieser Richtung gewartet. stürzt zum Repo, um es zu checken Gibt es irgendwelche Doku dazu?
1 „Gefällt mir“
Fühlen Sie sich frei, die Chatbot-Nutzung als hilfreiches Beispiel für die Verwendung zu nutzen:
und ich bin sicher, es gibt inzwischen eine ganze Reihe von Anwendungen im Kern …
2 „Gefällt mir“
Es gibt Dokumentation, aber diese ist derzeit, soweit ich weiß, fragmentiert und nicht als eigenständiger Entwicklerleitfaden aufbereitet.
Die wichtigsten autoritativen Referenzen sind:
-
Schemadokumentation in config/site_settings.yml:52, die depends_on, depends_on_values, depends_behavior und dependent_setting_display behandelt.
-
Detailliertere Anleitungen und Beispiele in .skills/discourse-site-settings/SKILL.md:203.
-
Spezifikationen für das Backend-Verhalten in spec/lib/site_setting_extension_spec.rb:706.
-
Frontend-Auflösung von Abhängigkeiten in frontend/discourse/admin/services/admin-site-setting-store.js:41.
-
UI-Beispiele in frontend/discourse/tests/acceptance/admin-site-settings-test.js:142.
Die grundlegende Syntax lautet:
child_setting:
default: ""
depends_on:
- parent_setting
depends_behavior: "hidden"
Für Enum- oder String-Elterneinstellungen:
child_setting:
default: ""
depends_on:
- parent_setting
depends_on_values:
parent_setting:
- enabled_mode
- another_mode
depends_behavior: "hidden"
dependent_setting_display: "inline"
Eine wichtige Einschränkung: Abhängigkeiten können mehrere direkte Elterneinstellungen enthalten, aber die Auflösung der Abhängigkeiten ist nicht transitiv. Eine verschachtelte Kette wie A → B → C führt nicht automatisch dazu, dass C berücksichtigt, ob B selbst durch A ausgeblendet wird; C bewertet nur den gespeicherten Wert von B.
4 „Gefällt mir“