我有一个用户在询问是否可以将横幅限制为主页,这样如果他们收藏了“最新”,横幅就不会显示?目前它似乎在两种情况下都显示。
2 个赞
是的,它在“欢迎链接横幅”设置中:
你的意思是,如果他们在自己的个人资料中将自定义页面(最新、类别等)设置为他们的主页?
那么这个任意页面就被视为用户的“主页”,因此欢迎横幅会显示在他们的新主页上。
如果你的站点的默认主页是 /categories,并且你希望欢迎横幅仅显示在 /categories 上,而不管用户的界面偏好如何,那么你可以将“显示在”设置为“discovery”或“all”,并使用 javascript 在你想要显示它的页面之外的其他页面上隐藏欢迎横幅。
但我目前不知道如何可靠地识别我们所在的当前页面(包括首次加载页面和更改页面时),以便动态隐藏欢迎横幅。
我很乐意稍后尝试一下(:sleeping:),但这可能是一个开始:
2 个赞
啊,非常感谢,是的,我的一些社区领导者将默认布局设置为最新,他们希望横幅仅显示在例如类别页面上。我将查看您共享的链接。
2 个赞
好的,这是一个可行的解决方案。在我的示例中,欢迎横幅将仅在 /latest 页面上显示,而与用户的界面设置无关。我将让您自定义它,使其仅在 /categories 页面上显示。 ![]()
-
将“欢迎链接横幅”的“显示在”设置设置为“all”或“discovery”,具体取决于您希望横幅显示的页面。
-
在您的主题中添加此脚本:
<script type="text/discourse-plugin" version="1.4.0"> // shows the welcome banner only on the /latest page api.onPageChange(() => { const router = api.container.lookup('service:router'); if (router.currentRoute.name === 'discovery.latest') { document.body.classList.add('route-discovery-latest'); } else { document.body.classList.remove('route-discovery-latest'); } }); </script> -
在您的主题中添加此 CSS:
body:not(.route-discovery-latest) .welcome-link-banner-connector { display: none; }
使用的参考:
8 个赞
非常感谢,万分感谢!![]()
3 个赞
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
