在最新的 Discourse 版本更新后,此功能失效了,不再能显示背景图片。
大家好,
请原谅我的无知,但我注意到有 CSS 选项可以让此组件对匿名用户、成员或两者都显示。
我想添加一个自定义组作为选项,因为我计划将此横幅用作广告空间。付费成员将属于一个“无广告/非多功能横幅”组,而非付费(普通)用户和匿名用户将看到多功能横幅。
我假设在创建该组之后,在主题组件自定义区域添加 CSS 是正确的方法,但任何指导都将不胜感激。
我知识有限,无法更好地提出我的问题。
谢谢。
嗯……如果你想针对这些群组,那么也许你应该使用:
如果这是你的计划,然后使用 CSS 隐藏广告。
house ads 功能,它是 discourse advertising 插件的一部分,允许您排除某些用户组查看这些广告。也许您可以利用此功能来展示广告,而不是根据用户组隐藏多功能横幅。
温馨提示:关于来自英国的 Imgur 访问变更,这已影响到本主题。我刚刚在一个新站点上安装了 Versatile Banner。虽然我在其他站点上也有运行该插件,但这是很长一段时间以来的首次“全新安装”,因此这也是我第一次看到 VB 未配置时的默认视图。Versatile Banner 的默认图片背景链接指向 Imgur,但不幸的是,Imgur 的内容在英国现已完全无法访问。我认为这可能是因为英国引入了强制年龄验证立法,但我不太确定。因此,在英国首次安装时,Versatile Banner 的显示效果如下:
我可以确认,使用 VPN 伪造我的来源可以解决图片访问问题。或许可以将默认图片更改为托管在 GitHub 上的资源?可以放在 VB 仓库中,或者使用其他在英国未被封锁的托管源。谢谢你指出这一点!我们不应该在这里链接到外部图片托管服务,我很惊讶它竟然能正常工作这么久。这张图片的浏览量相当高,感谢 imgur!
是时候向前看了……一旦合并,这将把图片迁移到主题内部直接引用。它还添加了一些可选的上传设置,如果你不想提供 URL。更新后,现有的背景图片设置应保持不变。
https://github.com/discourse/discourse-versatile-banner/pull/67
你好,我注意到根据帮助文本的说明,更改 Cookie 名称并不会导致横幅重新出现。我修改了 versatile-banner.gjs 文件中第 25/26 行左右的代码,解决了这个问题,使得在更改 Cookie 名称时横幅会重新出现。我不确定这是否是最佳方法。(抱歉,我没有配置 GitHub 来创建分支/拉取请求)
谢谢
cookieClosed = cookie("banner_closed");
cookieClosed = (this.cookieClosed && JSON.parse(this.cookieClosed).name == settings.cookie_name)
? this.cookieClosed
: null;
cookieCollapsed = cookie("banner_collapsed");
cookieCollapsed = (this.cookieCollapsed && JSON.parse(this.cookieCollapsed).name == settings.cookie_name)
? this.cookieCollapsed
: null;
感谢您的报告!我刚刚发布了一个更新,修复了 Cookie 的问题。如果您遇到任何其他问题,请告诉我们。
谢谢——已测试,看起来运行正常。

