우리는 심도가 깊은 2단계 카테고리 구조(우리 도시의 모든 공공 도서관과 각 지점, 그리고 자체 최상위 카테고리를 가진 중앙 도서관)를 사용하고 있습니다. 최근 일부 카테고리 가지에 세 번째 중첩 수준을 도입해야 했습니다.
트리 어디에나 손자 카테고리(grandchild category)가 있는 카테고리가 하나만 존재해도, 카테고리 홈페이의 렌더링 모드가 전환됩니다: 부모 카테고리와 그 바로 아래 자식 카테고리가 나열된 컴팩트한 박스 그리드 대신, 모든 카테고리가 긴 단일 열 목록으로 렌더링됩니다. 이는 약 1,200명의 직원 사용자에게 홈페이를 매우 길고 스캔하기 어렵게 만듭니다.
이것은 다음 관련 스레드에서 설명된 isGrandParent 속성에 의해 제어되는 것으로 보입니다: https://meta.discourse.org/t/when-you-add-an-additional-nesting-level-all-categories-including-child-categories-are-displayed-on-the-categories-page/195842
우리가 원하는 것
우선 선택 사항: 카테고리가 세 번째 중첩 수준을 가지는 경우에도 표준 “박스” 홈페이 레이아웃을 유지하는 방법 — 예를 들어, 홈페이에 손자 카테고리를 단순히 표시하지 않는 것(그들은 여전히 부모 카테고리 페이지를 통해 접근 가능할 것입니다).
대안적으로, 손자 카테고리를 가진 카테고리에 대해 카테고리 홈페이에 네이티브한 확장/축소 가능한 뷰를 제공하여, 사용자가 모든 것이 평탄하게 나열되는 대신 필요한 가지만 확장할 수 있도록 하는 것입니다.
왜 네이티브/공식 솔루션을 요청하는가
위에서 링크된 오래된 스레드에서 논의된 것처럼 테마 컴포넌트/CSS 또는 JS 우회 방법(예: modifyClass를 통해 isGrandParent를 오버라이드하는 것)이 있다는 것을 알고 있습니다. 우리는 그 경로를 따르는 것을 피하고 싶습니다: 우리는 내부에 깊은 프론트엔드 전문 지식이 없으며, 우리가 직접 코어 렌더링 로직을 오버라이드할 경우 예상치 못한 부작용이나 향후 Discourse 업데이트에서의 깨짐에 대해 우려하고 있습니다. 지원되는 설정이나 공식 옵션이 장기적으로 유지보수하는 데 훨씬 더 안전할 것입니다.
Discourse가 깊은 중첩을 공식적으로 권장하지 않는다는 것을 알고 있지만, 우리의 조직 구조(여러 기관, 각각 여러 물리적 위치, 각자 자체 공간 필요)에서는 선택의 여지가 없습니다.
이러한 경우를 위한 홈페이 표시를 제어하는 지원되는 방법은 큰 도움이 될 것이며, 2021년 이후 다른 조직에서도 숨겨진 3단계에 대한 필요성이 있을 수 있다고 확신합니다.
스크린샷 첨부: 현재 우리의 2단계 홈페이 레이아웃
그리고 3단계가 도입되면 현재 어떻게 깨지는지.



