他のグループには表示されず、特定のグループのみが表示できるバナーの作成

Versatile Banner Plugin Topicでこの件について書きましたが、独立した投稿にした方が良いと気づいたので、ここに投稿します。

素晴らしいツールをありがとうございます。

必要としているものに非常に近いです。誰かアイデアを持っているか、これがVersatile Bannerに実装できるか分かりません。

これが私が作成したバナーです。

しかし、これは私のDiscourseグループ「trial」のメンバーにのみ表示させたいのです。有料メンバーにはこのバナーを一切見せたくありません。そのため、次のように書きました。

すでにメンバーの場合は、このメッセージを閉じることができます。

しかし、それでも不完全な解決策です。

別の問題は、「Learn more」ボタンのリンクが「Trial Mode」のメンバー専用のプライベートリンクであることです。有料メンバーはそのリンク先のグループにアクセスできないためです。

また、トライアルメンバーがバナーを閉じることができるようにしたくありません。(有料メンバーのみが閉じることができるようにしたいです。)

トライアルグループのメンバーにのみバナーが表示されるようにするための回避策を知っている方はいますか?

Versatile Bannersは見た目が良いので、それで解決策を見つけたいですが、他のアイデアも歓迎します!

ありがとうございます!

私のCSSは改善していますが、まだ初歩的です :slightly_smiling_face:。ただし、トライアルグループがプライマリグループとして設定されている限り、次のようなことができると思います。

.banner-box {
	display: none;
}

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

最初の部分は全員からそれを非表示にし、2番目の部分はそれを「トライアル」グループをプライマリとして持つメンバーに表示します。

「いいね!」 1

どうもありがとうございます!試してみます。

残念ながら、一部のユーザー用にプライマリグループを設定しています。プライマリグループが唯一の方法だと思いますか?「trial group」に属している限り、そうすることはできませんか?

プライマリでなければならない場合、これは素晴らしいソリューションなので、私がしなければならない犠牲かもしれません。

本当にありがとうございます。

@JammyDodger バナーをアカウントを持たないユーザーにも表示する必要があるという事実を完全に忘れていました。

その場合、「trial-group」のみに表示するのではなく、CSSで「paid-members group」からのみ非表示にする方法があると思いますか?

それは素晴らしいでしょう!

そこでも anon というクラスを使用できるようです。:+1: 次のようなものを下部に追加できます。

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

クラスを挿入する方法を見たことがあると思いますが、私は流暢ではありません。:slightly_smiling_face: 思い出しているトピックを見つけて、正しく理解したかどうかを確認してみます。

それは素晴らしいですね。あなたのCSSトリックは驚くほどうまく機能しました!唯一足りないのは、primary-group を使わずに、誰かがそのグループに属しているだけで実現することです。

「いいね!」 1

このコンポーネントを使用すると、プライマリ以外のグループを body タグのクラスとして公開できます。

次のようなことを行う必要があると思います。

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

これは、トライアル グループのユーザーが、そのグループが存在することを少なくとも確認する権限を持っている場合にのみ機能します。

「いいね!」 2

ありがとうございます。試してみます。それが私が求めていた解決策かもしれません!素晴らしい助けをくれた @tshenry@JammyDodger に感謝します!

「いいね!」 2