요약:
커뮤니티에서 각 사용자에게 특정 홈페이지(“홈 카테고리”)를 지정합니다.
이 플러그인은 단일 Discourse 인스턴스 내에서 사용자의 주 그룹(Primary Group)에 따라 특정 “홈페이지”(즉, 카테고리)를 설정할 수 있게 해줍니다.
GitHub: 리포지토리 https://github.com/merefield/discourse-category-home
설치: 플러그인 설치 가이드를 따르세요.
이 플러그인을 잘 사용하고 계신가요? GitHub에서
를 눌러주세요! ![]()
기능
일반적인 Discourse의 기존 인터페이스 요소만 사용하므로, 이 솔루션은 견고하고 유지보수가 쉽습니다.
설정
일반적인 Discourse 기능을 사용하여 설정합니다:
- 몇 개의 카테고리 “홈”
을 원하든 결정하고, 존재하지 않는 경우 생성합니다:
- 이미 존재하지 않는 한, 각각에 대해 별도의 그룹을 생성합니다
- 사용자를 해당 각 그룹에 적절히 추가합니다
- 해당 그룹을 각 사용자의 주 그룹(Primary Group)으로 설정합니다
- 각 그룹에 해당 카테고리에 대한 권한을 부여합니다.
완료되었습니다! ![]()
이제 누군가가 커뮤니티 홈페이지로 이동하면, 그 사용자의 주 그룹이 권한을 가진 카테고리로 리디렉션됩니다.
참고: 반드시 지켜야 할 단순한 규칙이 있습니다: 누군가의 주 그룹이 등록되어 있고, 그 그룹이 단일 카테고리에 권한이 부여되어 있다면, 그 카테고리가 사용자의 홈으로 리디렉션됩니다.
위 링크에서 알 수 있듯이, 이 방식으로 주 그룹을 사용하면 여러 가지 이점이 있습니다. 그중에서도 가장 중요한 것은 다음과 같습니다:
- 사용자에게 칭호(Title)를 부여할 수 있습니다
- 사용자에게 플레어(Flair)를 부여할 수 있습니다
- 사용자의 게시물 스타일을 설정할 수 있습니다
기타 고려 사항
카테고리 홈페이지의 효과를 높이기 위해, 예: Category Banners 와 같이 개별적인 스타일을 적용하여 차별화하세요.
개별 카테고리/주 그룹 권한 확인
주 그룹이 단일 카테고리와만 연관되어 있는지 확인하려면, Discourse의 이 편리한 기본 기능을 사용할 수 있습니다. 예:
목록에 카테고리가 하나만 있는 것이 좋습니다! ![]()
기술적 세부 사항
사용된 정확한 로직은 다음과 같습니다:
return CategoryGroup.where(group_id: primary_group).first.category_id
'우회’하는 방법은 가능할 수 있지만, 이 기능이 작동하기를 기대하면서 해당 주 그룹을 여러 카테고리에 사용하는 경우 지혜롭지 않을 수 있으므로, 이 점을 염두에 두고 제 추천을 따르시기 바랍니다.
더 많은 유연성 제공
이 동작을 구성하는 다른 방법에 대한 제안에 열려 있지만, 맞춤형 설정의 양을 제한하고 가능한 한 많은 기본 동작과 데이터를 사용하고자 합니다. 간단하고 우아한 해결책을 생각하신 경우 알려주세요.
플러그인 설치 불가/주 그룹 기능이 작동하지 않는 경우?
플러그인을 설치할 수 없는 경우(제한적인 호스팅 플랜을 사용 중이거나) 또는 주 그룹 구성이 작동하지 않는 경우, 더 많은 맞춤형 구성이 필요하지만 침습성이 적은 이 테마 컴포넌트 대안을 고려해 보세요: Custom Homepage for Groups
