Versatile Banner

다음 링크에서 설명된 대로 테마 컴포넌트를 만들어 보세요: Theme Creator와 Theme CLI를 사용하여 Discourse 테마 제작을 시작하는 입문자 가이드, Discourse 테마 개발자 가이드 또는 "theme developer"를 검색하면 찾을 수 있는 여러 다른 주제들.

이 정보가 도움이 되지 않는다면, 무엇을 하려는지에 대해 더 자세히 설명해 주셔야 합니다.

5개의 좋아요

안녕하세요, 다양한 로케일에 따라 Versatile Banner의 텍스트를 변환할 수 있을까요? 로케일에 따라 UI를 프랑스어에서 독일어로 번역하는 것에 관심이 있습니다.

2개의 좋아요

잘 모르겠어요. 하지만 Add localizable strings to themes and theme components 링크가 몇 가지 힌트를 줄 수 있을 것 같아요. 제 생각에는 테마 컴포넌트를 포크해야 하는 것 같은데, 확신은 없고 최근에 코드를 살펴본 적이 없어서 제가 맞는지 모르겠어요.

2개의 좋아요

아쉽게도 제이가 언급했던 테마 번역 기능은 이 컴포넌트가 생성되기 직전에 출시되었고, 제가 개발을 시작할 때까지 문서가 게시되지 않았던 것 같습니다. 이 시점에서 기존에 배포된 Versatile Banner를 깨뜨리지 않고 여러 번역을 지원하도록 업데이트하는 것은 매우 어려울 것입니다. :frowning: 포크(Fork)하는 방식이 아마도 최선의 방법일 것입니다.

결국 몇 년간 접수된 일부 누락된 기능과 요청 사항을 해결할 수 있는 "Versatile Banner 2"가 출시되기를 희망합니다.

3개의 좋아요

특정 카테고리 아래 있는 주제에 배너를 표시하는 방법이 있나요? ‘Versatile banner’ 플러그인은 URL과 와일드카드를 사용하지만, Discourse의 URL에는 카테고리 이름이 포함되지 않습니다. 아니면 주제 URL에 카테고리를 추가할 수 있는 방법이 있을까요?

1개의 좋아요

예를 들어 /c/support/*와 같은 링크를 url must contain 설정에 추가하여 특정 카테고리에 추가할 수 있습니다.

2개의 좋아요

그걸 알고 있어서 "단일 카테고리 내의 주제들"이라고 쓴 겁니다. 주제는 카테고리 이름이 포함되지 않는 /t/* 형태의 URL을 사용합니다. 따라서 /c/support/*를 추가하면 해당 카테고리의 주제 목록 페이지에서만 표시되고, 그 카테고리 아래에 있는 개별 주제 페이지에서는 표시되지 않습니다.

2개의 좋아요

죄송합니다, 완전히 잘못 읽었네요. :slight_smile: 죄송하지만 저는 잘 모르겠습니다.

3개의 좋아요

카테고리는 <body> 태그에 클래스로 추가되므로, 카테고리에 따라 배너를 표시하거나 숨기는 CSS를 작성할 수 있습니다. 예를 들어:

/* 기본적으로 배너 숨김 */
.custom-banner-outlet {
    display: none;
}

/* "General" 카테고리에서 배너 표시 */
body.category-general .custom-banner-outlet {
    display: block;
}
3개의 좋아요

이 배너를 사용할 수 있게 되어 기대가 크지만, 사용자의 특정 그룹에만 표시 범위를 제한해야 합니다. 우리는 Discourse를 LMS로 사용하고 있으며, 이 배너가 현재 학생들에게만 보이고 동문에게는 보이지 않기를 희망합니다. 이것이 가능한가요, 아니면 다른 방법으로 이를 달성할 수 있는 방법이 있을까요?
도움 주시면 감사하겠습니다.

1개의 좋아요

CSS Classes for Current User's Groups 테마 컴포넌트를 사용하고, 숨기고자 하는 관련 그룹에 대해 display: none;을 조금 추가하면 가능할 것 같습니다. :+1:

3개의 좋아요

정말 감사합니다. 제가 원하는 것에 아주 근접한 것 같은데, 아쉽게도 CSS에는 정말 무지합니다. 그래도 조언해 주셔서 감사합니다!

1개의 좋아요

괜찮습니다. :slightly_smiling_face: 배너를 숨기고 싶은 그룹 이름을 알려주시면 필요에 맞게 코드를 조정해 드리고, 어디에 넣어야 하는지도 안내해 드리겠습니다. :+1:

예를 들어:

.group-alumni {
.custom-banner-outlet {
    display: none;
  }
}
사이트에 추가하는 방법에 대한 추가 정보
  • /admin/customize/themes로 이동하세요.
  • 설치를 클릭한 후 새로 만들기를 선택하세요.
  • 이름을 지정하고 'component’를 선택하세요.
  • 만들기를 클릭하세요.
  • 테마에 추가하세요.
  • CSS/HTML 편집 버튼을 클릭하고 코드를 공통 탭에 붙여넣으세요.
  • 그리고 저장하세요. :+1:

4개의 좋아요

테마를 활성화하지 않고 미리보기하는 방법이 있을까요? 사용자 경험을 해치지 않고 자유롭게 실험하고 싶습니다. 우리는 Discourse 호스팅 플랜을 사용하고 있어 테스트 인스턴스를 실행할 수 있는 권한이 없습니다.

혹시 놓치고 있는 스위치나 설정이 있을 것 같습니다.

2개의 좋아요
  1. 다른 테마를 추가할 수 있습니다(대부분 ‘정상’ 테마의 클론일 것입니다) - Test(테스트) 등으로 이름을 붙이세요.
    • ‘정상’ 테마를 '기본값’으로 유지하세요.
  2. 정확히 동일한 테마 컴포넌트를 포함했는지 확인하세요.
  3. 관리자 사용자를 위해 이 테마를 선택하세요.

그 후 이 테마를 마음대로 수정해 볼 수 있습니다. 다른 사용자들도 (이론上是) 이 테마를 선택할 수 있지만, 명확하게 안내되지 않는 한 선택할 가능성은 매우 낮습니다.

완료되면 ‘정상’ 테마를 다시 선택하는 것을 잊지 마세요!

3개의 좋아요

가능하지 않을 것 같긴 하지만, 물어보는 데는 손해가 없으니 물어볼까 합니다.

긴 주제에서 맨 아래부터 시작해 위로 스크롤할 때, 이전 게시물들이 로드되는 동안 배너가 잠시 나타납니다. 게시물이 로드된 후에는 배너가 게시물 스트림 위로 밀려 올라가면서 시각적으로 "점프"가 발생합니다. 이 현상이 다소 거슬리고, 상호작용할 수 있을 만큼 오래 머물러 있지도 않습니다.

이상적으로는 주제 제목 위에서만 배너를 보고 싶고, 스트림 중간에는 보고 싶지 않습니다. 하지만 배너가 below-site-header 아웃렛을 사용한다고 가정하면, 그 동작 방식이 아웃렛에 기반하므로 이 "점프"는 예상되는 동작일 수 있어 단순한 요청은 아닐 것 같습니다.

페이지 맨 위에 있는지 확인할 수 있는 간단한 방법이 있을까요?

1개의 좋아요

훌륭한 조언입니다. 저에게는 완벽하게 작동했습니다.

클론된 테마가 활성화되어 있지 않아도 미리보기가 가능하다는 것을 발견했습니다. 따라서 사용자가 이를 발견할까 봐 걱정할 필요가 없습니다.

이 말을 읽고 웃었습니다. 테마를 탐색하기 시작했을 때 저의 생각이 바로 그랬거든요. 실험을 하고 싶어서 몇 가지 다른 테마를 로드했는데, 포럼 회원들이 그것들을 아주 빨리 발견했습니다.

사용자가 실험 중인 것을 보지 않도록 이중으로 확실하게 하려면, “Theme can be selected by users” 옵션의 선택을 해제해 두세요. 테마가 활성화되어 있더라도 사용자가 테마를 선택할 수 없게 됩니다.

3개의 좋아요

특정 신뢰 수준에만 표시되도록 하는 방법이 있을까요?

이렇게 하면 쿠키를 사용해 사용자의 표시/숨김 설정을 기억할 필요가 없으며, 모든 사용자는 특정 신뢰 수준에 도달할 때까지 이를 계속 볼 수 있습니다.

1개의 좋아요

이 배너 컴포넌트는 현재 그렇지 않지만, https://meta.discourse.org/t/welcome-link-banner/218743은 해당 기능이 있습니다. 이것이 좋은 대안이 될까요?

2개의 좋아요

저는 이 배너를 사용해 매주 제 나라의 한 명을 제 포럼에서 기리고 싶습니다. 기린 사람의 사진과 텍스트가 포함될 예정인데, 매주 제가 항상 있을 수는 없기 때문에 이 플러그인에 대한 접근 권한을 제 모더레이터들에게 부여하고 싶습니다. 사진과 텍스트를 올릴 수 있도록 모더레이터들에게 이 플러그인 접근 권한을 부여하는 방법이 있을까요?