Esta consulta fornece uma visão abrangente de todos os temas em sua instância do Discourse, juntamente com seus componentes instalados, e pode ser útil para administradores que gerenciam vários temas e precisam identificar rapidamente quais componentes estão instalados em cada tema.
-- [params]
-- null text :theme_name
-- Consulta para listar todos os temas e seus componentes instalados associados
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
Parâmetros
- theme_name: (Opcional) Filtra os resultados para mostrar apenas temas que contêm este texto. A visualização padrão mostra todos os temas e seus componentes.
Resultados
- theme_name: O nome de cada tema.
- component_name: O nome dos componentes instalados no tema.
- component_enabled: Se o componente está habilitado (true) ou desabilitado (false).
Temas que não possuem componentes aparecerão com valores NULL para os campos de componente. Os resultados são ordenados alfabeticamente por nome do tema e, em seguida, por nome do componente.
Exemplo de Resultados
| 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 |