manuel
(Manuel Kostka)
1
设置
有几个选项可用于设置内容、Cookie 和布局位置:
样式
对于 CSS 样式,组件结构为:
.announcement-bar {
&__wrapper { }
&__container { }
&__content { }
&__close { }
}
23 个赞
manuel
(Manuel Kostka)
4
感谢 @kinetiksoft 的建议!但我更倾向于让共享组件不包含群组功能
。原因是我过去的经验表明,实际用例通常比仅仅选择一个群组要具体得多。你可能还需要区分匿名访问者。或者向不同的群组显示不同的内容。这样一来,就会增加复杂性。
我通常会 fork 组件,或者仅使用 CSS 实现不同的布局选项。所以恐怕我的建议也是如此。
关于使用 CSS 定位群组,Discourse 在 body 中添加群组 CSS 类 是一个很好的辅助组件。
2 个赞
david
(David Taylor)
拆分了此话题
5
您使用的 Discourse 版本似乎不支持 .gjs 文件格式。
我认为这是在 v3.2.0.beta3 (2023 年 7 月 – 特别是此 提交 中引入的)
不幸的是,除非有人制作一个不使用 .gjs 文件的版本,否则您可以升级 Discourse 或卸载该组件。
4 个赞
我们使用的是 3.1 版本,所以这应该说得通。
希望 Events 能尽快升级以支持 3.2,届时我们将切换过去。
谢谢
4 个赞
manuel
(Manuel Kostka)
9
抱歉造成混淆 @martyn_thomas,也感谢 @Arkshine 的解释!我已经更新了 about 文件,将其设置为 "minimum_discourse_version": "3.2.0.beta3"。
6 个赞
您好,
我可能是错的,但我认为当有人忽略公告时(管理员应该可以选择删除此公告),它会在桌面视图或移动视图中为其他所有人单独删除。
我只知道这一点,因为我关闭并重新打开它进行测试,然后让它运行。我没有将其划掉,现在它消失了?
manuel
(Manuel Kostka)
15
我不完全明白您指的是什么。您能否再说一遍您在管理员后台做了什么,以及用户看到了什么结果?还有是针对哪些用户?
我指的是这个主题组件。
我的论坛上有这个,但当我没有将其划掉时,它就会消失,因为您有一个选项可以选择显示或不显示它,就像最终用户一样。
我禁用了它,然后又重新启用了它,看看是不是一个问题,但我认为当有人忽略主题组件时,它会为其他人移除它。首先,我在桌面视图上注意到它,然后是移动视图。
1 个赞
Heliosurge
(Dan DeMontmorency)
18
不应该。忽略全局横幅或置顶主题应该只对当前登录的用户有效。而不是对所有用户。
1 个赞
Heliosurge
(Dan DeMontmorency)
19
禁用该组件会将其移除。
现在,如果您关闭了当前横幅,然后禁用并重新启用该组件。除非进行更改,否则它不会再次出现,或者我记得您可能需要清除 cookie。
嗯……我做过这个了。我还冒充了一个很久没登录的人,也看不到公告栏。
manuel
(Manuel Kostka)
21
@Aaron_Walsh 我能复现的问题:
- 无论是作为用户还是匿名访客,都可以关闭公告栏
- 在同一浏览器中注销或切换到另一个用户账户
- 公告栏将不会在同一浏览器中显示
因此,我认为这是一个缓存问题。显然,cookie的实现方式对用户账户不敏感,但对浏览器历史记录敏感。我从另一个组件复制了cookie代码,并且我对cookie的详细工作原理不太了解。如果确实可行并且有人有代码,我很乐意更改代码。否则,我不太关心这个问题。我看到的是,它只影响同一浏览器,并且公告栏不会在其他用户的各自会话中被关闭。
3 个赞
Heliosurge
(Dan DeMontmorency)
22
我可以确认。已加载横幅。已使用我的管理员帐户将其关闭。
使用不同的用户登录匿名浏览器。
未登录时显示横幅。登录测试用户时显示横幅。关闭横幅并注销再登录,则不显示横幅。关闭隐身 Chrome 浏览器并打开新的浏览器。公告横幅又回来了。
因此,这绝对是 cookie/浏览器缓存相关的问题。
1 个赞
Heliosurge
(Dan DeMontmorency)
23
Impersonate 不会清除您的浏览器 Cookie。
是的,我知道。事实上,我用 Chrome 清除了 Cookie 数据以确保万无一失。
冒充只是一个测试,看看他们是否在他们的账户中显示了这一点。
1 个赞