Cette requête offre une vue complète de tous les thèmes de votre instance Discourse, ainsi que de leurs composants installés. Elle peut être utile aux administrateurs qui gèrent plusieurs thèmes et doivent rapidement identifier les composants installés sur chaque thème.
-- [params]
-- null text :theme_name
-- Requête pour lister tous les thèmes et leurs composants installés associés
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
Paramètres
- theme_name : (Facultatif) Filtre les résultats pour n’afficher que les thèmes contenant ce texte. La vue par défaut affiche tous les thèmes et leurs composants.
Résultats
- theme_name : Le nom de chaque thème.
- component_name : Le nom des composants installés sur le thème.
- component_enabled : Indique si le composant est activé (true) ou désactivé (false).
Les thèmes qui n’ont pas de composants apparaîtront avec des valeurs NULL pour les champs de composant. Les résultats sont triés par ordre alphabétique du nom du thème, puis du nom du composant.
Exemple de résultats
| 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 |