테마 및 관련 테마 컴포넌트 보고서

이 쿼리는 Discourse 인스턴스의 모든 테마와 설치된 구성 요소를 포괄적으로 보여 주며, 여러 테마를 관리하고 각 테마에 어떤 구성 요소가 설치되어 있는지 빠르게 확인해야 하는 관리자에게 유용합니다.

-- [params]
-- null text :theme_name

-- 모든 테마 및 관련 설치 구성 요소를 나열하는 쿼리
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

매개 변수

  • theme_name: (선택 사항) 이 텍스트를 포함하는 테마만 표시하도록 결과를 필터링합니다. 기본 보기에서는 모든 테마와 구성 요소를 표시합니다

결과

  • theme_name: 각 테마의 이름
  • component_name: 테마에 설치된 구성 요소의 이름
  • component_enabled: 구성 요소가 활성화되어 있는지(true) 아니면 비활성화되어 있는지(false)

구성 요소가 없는 테마는 구성 요소 필드에 NULL 값으로 표시됩니다. 결과는 테마 이름, 그 다음 구성 요소 이름의 알파벳 순서로 정렬됩니다

결과 예시

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개의 좋아요