특정 그룹만 볼 수 있는 배너 생성하기

이 내용에 대해 Versatile Banner 플러그인 토론에서 언급했지만, 별도의 게시글로 작성하는 것이 더 적합할 것 같아 이렇게 올립니다:

훌륭한 도구를 만들어 주셔서 감사합니다.

필요한 것을 만드는 데 거의 성공했습니다. 누군가 아이디어를 가지고 있는지, 혹은 versatile banner에 구현할 수 있는지는 모르겠습니다.

제가 만든 배너는 다음과 같습니다.

하지만 이 배너는 제 Discourse 그룹인 "trial"의 멤버들에게만 표시되기를 원합니다. 유료 멤버들에게는 이 배너가 전혀 표시되지 않아야 하므로 다음 문구를 작성했습니다.

이미 멤버이신 분은 이 메시지를 닫을 수 있습니다

그러나 여전히 불완전한 해결책입니다.

또 다른 문제는 “Learn more” 버튼의 링크가 "Trial Mode"의 멤버를 위한 비공개 링크라는 점입니다. 유료 멤버들은 해당 링크로 이동하는 그룹에 접근 권한이 없기 때문입니다.

또한 trial 멤버들이 배너를 닫을 수 있기를 원하지 않습니다. (유료 멤버만 닫을 수 있기를 원합니다.)

배너가 trial 그룹의 멤버에게만 표시되도록 할 수 있는 우회 방법이 있는지 아시는 분이 있을까요?

versatile banners로 해결책을 찾고 싶습니다. 디자인이 훌륭하기 때문이죠. 하지만 다른 아이디어에도 개방적입니다!

감사합니다!

제 CSS 실력은 나아지고 있지만 아직 초보 수준이에요 :slightly_smiling_face:. 다만, Trial 그룹을 기본 그룹으로 설정해 두었다면 다음과 같은 방식으로 처리할 수 있을 것 같아요:

.banner-box {
	display: none;
}

.primary-group-trial {
   .banner-box {
       display: initial;
   }
}

첫 번째 코드는 모든 사용자에게 해당 요소를 숨기고, 두 번째 코드는 기본 그룹이 'trial’인 멤버들에게만 요소를 표시하도록 합니다.

정말 감사합니다! 직접 시도해 보겠습니다.

불행히도 일부 사용자에게는 다른 기본 그룹이 설정되어 있습니다. 기본 그룹이 유일한 방법이라고 생각하시나요? 사용자가 "trial group"에 속해 있는 한 동작하도록 하는 다른 방법이 없을까요?

기본 그룹이어야 한다면, 이 해결책이 정말 탁월하기 때문에 어쩔 수 없이 받아들여야 할 희생일 수도 있겠네요.

다시 한번 감사합니다.

@JammyDodger 계정이 없는 사용자들도 배너를 볼 수 있어야 한다는 사실을 완전히 잊고 있었네요.

그렇다면 "trial-group"에만 표시하는 대신, CSS를 조정해서 "paid-members group"에서는 숨기도록 하는 방법이 있을까요?

그렇게 된다면 정말 좋겠습니다!

거기서 anon 클래스도 사용할 수 있는 것 같습니다. :+1: 그래서 하단에 다음과 같은 코드를 추가할 수 있습니다:

.anon {
   .banner-box {
       display: initial;
   }
}

클래스를 삽입하는 방법을 본 적이 있는 것 같지만, 그 부분은 잘 다루지 못합니다. :slightly_smiling_face: 제가 생각하던 주제를 찾아보고 제가 올바르게 이해했는지 확인해 보겠습니다.

정말 놀랍네요! CSS 트릭이 정말 훌륭하게 작동했습니다! primary-group을 사용하지 않고, 해당 그룹에 속해 있는 사람이라면 누구나 적용되도록 만드는 것만 해결되면 완벽할 텐데요.

이 컴포넌트를 사용하면 비(非)기본 그룹을 body 태그의 클래스로 노출할 수 있습니다:

아래와 같은 방식으로 처리하면 될 것 같습니다:

body.group-trial {
   .banner-box {
       display: initial;
   }
}

이 방법은 trial 그룹의 사용자에게 해당 그룹의 존재를 확인할 수 있는 권한이 있는 경우에만 동작합니다.

정말 감사합니다! 시도해 보겠습니다. 제가 필요한 해결책이 될 것 같아요! @tshenry님과 @JammyDodger님의 놀라운 도움에 감사드립니다!