그룹 사이드바 메뉴 섹션 - 사용 중단됨

:warning: 이 테마 컴포넌트는 Discourse Group Sidebar Menus로 대체되어 비활성화되었습니다. 해당 컴포넌트로 전환해 주세요. 더 안전하고 설정이 쉽습니다. 이 저장소는 더 이상 유지 관리되지 않으며 2026년 2월 28일경 아카이브 처리될 예정입니다.

:information_source: 요약 특정 그룹을 위한 사용자 정의 내비게이션 메뉴 섹션을 표시합니다
:hammer_and_wrench: 저장소 https://github.com/Lillinator/group-menu-sections
:question: 설치 가이드 테마 또는 테마 컴포넌트 설치 방법
:open_book: Discourse 테마 초보자? Discourse 테마 사용 입문가이드

이 테마 컴포넌트 설치

이 테마 컴포넌트는 Discourse 사용자 정의 내비게이션(사이드바) 메뉴 섹션을 특정 사용자 그룹(신뢰 수준 및 기본 그룹 포함)에게만 표시할 수 있게 해줍니다. 이 컴포넌트는 최대 8개의 사용자 정의 메뉴 섹션을 사용할 수 있으며, 각 지정된 섹션에 대해 원하는 만큼의 그룹을 지정할 수 있습니다. 대시(-)로 구분된 소문자 메뉴 섹션 이름을 사용해야 합니다(예: “Superuser Menu” = superuser-menu, “Staff Menu” = staff-menu). 그룹은 드롭다운 선택 필드를 통해 사용 가능한 그룹 중에서 선택합니다.

이 컴포넌트에서 지정된 사용자 정의 섹션은 공개적으로 설정되어 모든 사람에게 표시되도록 구성해야 한다는 점에 유의하세요. 새로운 그룹 내비게이션 메뉴 섹션을 만들려면 평소처럼 공개 섹션을 만든 후, 이 컴포넌트의 설정에서 표시하려는 그룹과 함께 포함시키면 됩니다. 사용자 정의 섹션을 설정하기 전에 컴포넌트 설정에서 섹션을 지정할 수 있으며, 올바른 섹션 이름만 사용한다면 컴포넌트로 제한하기 전에 모든 사람에게 섹션이 표시되지 않도록 방지할 수 있습니다.

이 컴포넌트는 사용자 정의 섹션을 위해 의도되었지만, 내비게이션 메뉴의 기존 섹션(예: 카테고리, 태그, 채널, 개인 채팅, 그리고 이제 비활성화된 “community” 상단 섹션)에도 사용할 수 있습니다. 예를 들어 슈퍼유저 및 스태프 그룹에게 사용자 정의 메뉴를 표시하는 동시에 새 사용자 그룹(trust_level_0)에서 태그와 채널을 숨길 수 있습니다. 특정 메뉴 섹션을 포럼 멤버에게만 표시하고(익명 사용자에게 숨김) 싶다면 trust_level_0 그룹에 표시하도록 설정할 수 있습니다.

:arrow_right: 이 컴포넌트에 사용하려는 모든 그룹의 경우, 그룹 상호작용 설정에서 그룹 가시성이 "Everyone"으로 설정되어 있어야 합니다.


설정:

설정 목록
이름 설명
menu 1 아래 설정의 그룹(들)에게 표시할 사용자 정의 메뉴 섹션 1. 소문자 슬러그 이름을 사용하세요.
display menu 1 for these groups only 메뉴 1에 사용할 사용 가능한 그룹의 드롭다운 선택기. 그룹 상호작용 설정에서 그룹 가시성이 Everyone으로 설정되어 있어야 합니다.
menu 2 - 8 각 그룹 설정의 그룹(들)에게 표시할 사용자 정의 메뉴 섹션입니다.
display menu 2 - 8 for these groups only 메뉴 2 - 8에 사용할 사용 가능한 그룹의 드롭다운 선택기입니다.
hide custom menus globe icon 스태프를 위한 지구본 아이콘을 숨깁니다(비스태프에는 적용되지 않음)

스크린샷:

필요한 그룹 가시성 설정

그룹 선택기가 있는 첫 번째 설정을 보여주는 스크린샷

지구본 숨김 설정


이 컴포넌트는 일반적으로 사이드바 모드에서 내비게이션 메뉴를 위해 의도되었지만, 현재로서는 헤더 드롭다운에서도 작동합니다. 데스크톱 및 모바일 뷰 모두에서 작동합니다.

27개의 좋아요

와, 정말 필요했어요. 정말 유용하네요. 정말 감사합니다. 님의 작업과 discourse용 컴포넌트를 정말 좋아해요.

2개의 좋아요

티아고, 고마워! :blush:

3개의 좋아요

안녕하세요, 공유해 주셔서 감사합니다!

이 컴포넌트를 사용하여 기본 섹션 상단에 특정 그룹만 볼 수 있는 사용자 정의 링크를 추가할 수 있을까요?

아니요, 이 컴포넌트는 섹션에만 사용되며 링크에는 사용할 수 없습니다. 다만, 링크 하나만 포함된 커스텀 섹션을 만들 수는 있습니다.

1개의 좋아요

나중에 이 기능을 추가할 수도 있을 것 같아요. 정말 원하신다면 특정 컴포넌트를 만들어 드릴 수도 있고, 직접 하는 방법을 알려드릴 수도 있어요.

4개의 좋아요

반대로, 익명 사용자(Anon)에게만 섹션을 표시하려면 어떻게 해야 하나요? 익명 사용자와 포럼 멤버(로그인된 사용자)를 위한 별도의 섹션을 만들고 싶습니다.

좋은 질문이네요. 저는 이렇게 하겠습니다:

1단계:

새로운 사용자 정의 내비게이션 메뉴 섹션을 만듭니다. 예를 들어 "Anon Menu"라고 이름 붙여 보세요 (원하는 이름으로 붙여도 되지만, 이름을 기억해 두세요) 그리고 이를 공개 섹션으로 설정합니다 (모달 창 하단의 확인란).

2단계:

그다음, 사용자가 만든 테마 또는 테마 컴포넌트의 공통 CSS(Common-CSS)에 아래 CSS 코드를 삽입합니다. "anon-menu"를 1단계에서 만든 메뉴 섹션 이름의 슬러그(section name-slug)로 교체하세요 (예: Custom Section = custom-section).

.sidebar-section-wrapper.sidebar-section[data-section-name="anon-menu"] {
        display: none;
}

.anon .sidebar-section-wrapper.sidebar-section[data-section-name="anon-menu"] {
        display: block;
}
1개의 좋아요

사실 이 아이디어를 사용 사례 시나리오로 좋아해서, 다음에 컴포넌트를 업데이트할 때 추가할 예정입니다. 컴포넌트 설정을 위한 JSON 스키마 모달을 만들고 있어, 설정을 조금 더 직관적으로 만들 수 있을 것 같습니다.

2개의 좋아요

감사합니다. 유지보수 측면에서 예상보다 훨씬 복잡합니다. 몇 달 후에 내가 무엇을 했는지 기억하지 못할 것 같습니다.

수정: 익명 사용자 그룹을 만들어 보려 했지만 작동하지 않습니다. 이는 익명(Anonymous) 기능, 즉 로그인한 사용자가 로그인 후 익명 모드로 전환하는 경우에만 해당되며, 실제로 익명인 사용자(계정이 없는 사용자)에게는 적용되지 않기 때문입니다.

아, 정말 죄송합니다. 오해했어요. 익명 모드에 대해 말씀하시는 줄 몰랐고, 로그인하지 않은 사용자를 말씀하시는 줄 알았거든요. :woman_facepalming:t2:

한 가지 더 제안드리자면, 그룹 목록을 읽어들이고 사용 가능한 그룹 목록에서 선택할 수 있는 드롭다운을 제공하면 그룹 이름을 입력할 때 오타를 방지할 수 있어 좋을 것 같습니다.

1개의 좋아요

네, 맞습니다. 로그인하지 않은 사용자, 즉 웹사이트에 접속했지만 로그인하지 않았거나 계정이 없는 사람들을 말씀드린 것입니다.

위에 언급한 방법을 시도해 보았지만 작동하지 않았습니다. 그건 완전히 다른 기능이었기 때문이에요 (예상보다 더 많은 혼란을 드려 죄송합니다).

위에서 언급한 제 방법을 사용하시면 작동할 것입니다. 그 다른 익명 모드 기능을 사용하지 않아도 됩니다. :slight_smile:

하지만 다음에 이 컴포넌트를 업데이트할 때, 익명 사용자를 위한 몇 가지 옵션을 추가할 예정입니다. 곧 업데이트될 것입니다.

1개의 좋아요

테마 업데이트를 기다릴게요. 수동으로 테마를 커스터마이징하는 건 편하지 않고, '초보자’들에게는 유지보수의 악몽이 되거든요 :slight_smile:

여기서 질문을 읽을 수 있는 다른 사람들을 위해 내 다른 답변(링크)과 해결책을 공유합니다.

이 기능을 곧 업데이트될 내비게이션 메뉴 수정자 컴포넌트에 추가할 예정입니다.

2개의 좋아요

이 컴포넌트를 업데이트하여 사용 가능한 그룹으로 채워지는 그룹 드롭다운 선택 상자를 추가했습니다. 또한 메뉴 섹션의 수를 8개로 늘리고, 지구본 아이콘을 숨기는 기능을 추가했습니다.

2개의 좋아요

안녕하세요!
이 멋진 테마 컴포넌트를 방금 설치했습니다 :ballot_box_with_check:

설정을 하다가 질문이 생겼습니다:

  1. 위 설명에 메뉴 섹션 이름의 예시가 주어졌는데, 예를 들어 Sectionname Menu=sectionname-menu 와 같습니다.

image


제 경우, 메뉴 섹션 이름은 러시아어로 되어 있습니다. 예를 들어, “Сотрудники” (영어: Staff) 같은 식이죠.


menu 1 줄에 이 섹션 이름을 어떻게 작성해야 하나요? 러시아 문자를 사용할까요, 아니면 라틴 문자를 사용할까요?
아래와 같이 작성해야 하나요:

image

아니면 이렇게:

image

텍스트에서 "menu"라는 단어는 필수 속성인가요? :sweat_smile:

모든 방법을 시도해 보았지만 여전히 작동하지 않습니다.

설명서에 명시하신 대로 모든 그룹을 공개로 설정해 두었습니다.

  1. 이 테마 컴포넌트를 사용하여 특정 그룹에 대해 “Community” 섹션의 가시성을 설정할 수 없는 것 같습니다.
1개의 좋아요

아니요, 그렇지 않습니다. 저는 예시 메뉴 이름의 일부로 그렇게 사용한 것입니다. 예를 들어, 메뉴 이름이 "User Info"라면 "user-info"가 됩니다. 가장 좋은 방법은 메뉴 섹션을 만들 때 ‘Section title’ 필드에 있는 이름을 사용하고, 소문자로 변환한 뒤 공백 대신 하이픈(-)을 넣어 슬러그(slug) 형식으로 만드는 것입니다.

그런 다음 테마 컴포넌트 설정에서 이렇게 하세요:

러시아 문자인 것 같습니다? 첫 번째 스크린샷에서 화살표로 표시한 ‘Section title’ 필드에 있는 내용을 소문자로 변환하고 공백 대신 하이픈(-)을 넣으면 됩니다.

저는 스크린샷에 있는 그 구성을 테스트해 보았고, 잘 작동합니다.

어떤 시점에 커뮤니티 섹션을 러시아어로 이름 변경을 하셨나요? 만약 하지 않았다면 "community"를 사용하는 것이 작동해야 합니다(상단에 있는 이름이 없는 기본 메뉴 섹션을 말씀하시는 거라고 가정하고 있습니다).

2개의 좋아요

섹션 이름을 라틴 문자로 쓰면 모든 것이 정상적으로 작동합니다:


반면, 섹션 이름을 키릴 문자(러시아어)로 쓰면 작동하지 않습니다.