Diese Abfrage bietet eine umfassende Ansicht aller Themes in Ihrer Discourse-Instanz zusammen mit ihren installierten Komponenten und kann für Administratoren hilfreich sein, die mehrere Themes verwalten und schnell identifizieren müssen, welche Komponenten auf jedem Theme installiert sind.
-- [params]
-- null text :theme_name
-- Abfrage zum Auflisten aller Themes und ihrer zugehörigen installierten Komponenten
WITH parent_themes AS (
SELECT id, name
FROM themes
WHERE component = false
AND (:theme_name IS NULL OR name ILIKE '%' || :theme_name || '%')
)
SELECT
pt.name AS theme_name,
ct.name AS component_name,
ct.enabled AS component_enabled
FROM parent_themes pt
LEFT JOIN child_themes child ON child.parent_theme_id = pt.id
LEFT JOIN themes ct ON ct.id = child.child_theme_id
ORDER BY pt.name, ct.name
Parameter
- theme_name: (Optional) Filtern Sie die Ergebnisse, um nur Themes anzuzeigen, die diesen Text enthalten. Die Standardansicht zeigt alle Themes und ihre Komponenten.
Ergebnisse
- theme_name: Der Name jedes Themes.
- component_name: Der Name der auf dem Theme installierten Komponenten.
- component_enabled: Ob die Komponente aktiviert (true) oder deaktiviert (false) ist.
Themes, die keine Komponenten haben, werden mit NULL-Werten für die Komponentenfelder angezeigt. Die Ergebnisse sind alphabetisch nach Theme-Namen und dann nach Komponenten-Namen sortiert.
Beispielergebnisse
| theme_name | component_name | component_enabled |
|---|---|---|
| Default | discourse-adplugin | true |
| Default | discourse-chat | true |
| Default | discourse-signatures | false |
| Corporate | discourse-header-search | true |
| Corporate | discourse-tooltips | true |