Informe de temas y componentes temáticos asociados

Esta consulta proporciona una vista completa de todos los temas en tu instancia de Discourse junto con sus componentes instalados, y puede ser útil para los administradores que gestionan varios temas y necesitan identificar rápidamente qué componentes están instalados en cada tema.

-- [params]
-- null text :theme_name

-- Consulta para listar todos los temas y sus componentes instalados asociados
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 los resultados para mostrar solo los temas que contienen este texto. La vista predeterminada muestra todos los temas y sus componentes.

Resultados

  • theme_name: El nombre de cada tema.
  • component_name: El nombre de los componentes instalados en el tema.
  • component_enabled: Si el componente está habilitado (true) o deshabilitado (false).

Los temas que no tienen componentes aparecerán con valores NULL para los campos de componentes. Los resultados se ordenan alfabéticamente por el nombre del tema y luego por el nombre del componente.

Resultados de ejemplo

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
3 Me gusta