创建一个只有1个组可以看到的横幅,而其他组看不到

我在 Versatile Banner Plugin Topic 中写过这个,但我意识到把它作为一个独立的帖子可能更好,所以在这里:

感谢这个很棒的工具。

我离创建我需要的东西很近了。我不知道是否有人有什么想法,或者这是否可以集成到 versatile banner 中。

这是我创建的横幅

但是,我只想让这个横幅显示给我的 Discourse 群组“trial”中的用户,我不希望我的付费会员看到这个横幅,这就是为什么我写了

如果您已经是会员,可以关闭此消息

但是,这仍然是一个有缺陷的解决方案。

另一个问题是,“了解更多”按钮链接是一个私有链接,仅供“试用模式”下的会员使用,因为付费会员无法访问该链接指向的用户组。

另外,我不希望试用会员能够关闭横幅(我只希望付费会员能够关闭它)。

有人知道有什么方法可以让横幅仅显示给 trial 群组的会员吗?

我很想找到一个使用 versatile banners 的解决方案,因为它看起来很棒,但我对其他想法持开放态度!

谢谢!

我的 CSS 正在进步,尽管仍然很基础 :slightly_smiling_face:,但我认为只要将“Trial”组设置为他们的主要组,您就可以这样做:

.banner-box {
	display: none;
}

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

所以第一部分将其隐藏给所有人,第二部分则将其显示给以“trial”组作为其主要组的成员。

1 个赞

非常感谢!我会尝试一下
\n
\n不幸的是,我已经为一些用户设置了主组。您认为主组是唯一的方法吗?有没有办法只让某人属于“试用组”?
\n
\n如果必须是主组,鉴于这是一个绝妙的解决方案,这可能是我必须做出的牺牲
\n
\n非常感谢

@JammyDodger 我完全忘记了需要没有账户的用户也能看到横幅的事实。

在这种情况下,您认为有没有办法不只显示给“试用组”,而是让 CSS 只隐藏“付费会员组”?

那将是太棒了!

看起来 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 个赞