Lilly
(Lillian Louis)
1
|||
| - | - | - |
|
| 摘要 | 允许为员工、已登录用户和匿名用户显示部分和链接 |
|
| 代码库| https://github.com/Lillinator/navigation-menu-display-control |
|
| 安装指南 | 如何安装主题或主题组件 |
|
| 不熟悉 Discourse 主题? | Discourse 主题使用入门指南 |
Install this theme component
描述
导航菜单显示控制主题组件允许为仅限员工和/或仅限登录用户显示各种默认部分和链接。您还可以指定自定义部分或自定义链接(已包含占位符名称)。此外,还有一个设置用于仅为匿名用户显示自定义菜单部分,以及用于设置默认部分(类别、标签、聊天、频道、消息)顺序的设置。设置中的部分和链接是列表,可以编辑现有部分(请参见下面的屏幕截图),以及添加任意数量的自定义部分或链接。
设置
对于自定义菜单部分,在设置它们时必须全局可见(必须启用“使此部分公开并对所有人可见”复选框)。
顶部的部分在代码中称为“community”,因此如果您想隐藏该部分,请使用“community”部分名称。您可以使用插件安装的链接,例如文档、周年纪念和生日链接。
还有相互覆盖的设置——在“更多”中为已登录用户可见的特定链接将被仅对员工可见的“更多”下拉设置覆盖。
| 设置名称 |
描述 |
show these sections for staff only |
仅为员工显示的部门列表。可以包含自定义部门,使用“Staff Menu = staff-menu”的 slug 命名格式。 |
show these sections for logged-in only |
仅为登录用户显示的部门列表。可以包含自定义部门,使用“User Menu = user-menu”的 slug 命名格式。 |
show these links for staff only |
仅为员工显示的链接列表。可以包含使用相同大小写格式命名的自定义链接(“Staff Link”=“Staff Link”)。 |
show these links for logged-in only |
仅为登录用户显示的链接列表。可以包含使用相同大小写格式命名的自定义链接(“User Link”=“User Link”) |
show more for staff only |
仅为员工显示“更多”下拉部分的复选框。 |
show more for logged-in only |
仅为登录用户显示“更多”下拉部分的复选框。 |
show custom for anon only |
用于自定义菜单部分的文本字段,仅显示给匿名用户(对登录用户隐藏)。 |
show navigation menu to logged-in only |
仅为登录用户显示整个导航侧边栏菜单的复选框(对匿名用户隐藏)。 |
hide custom menus globe icon |
隐藏自定义菜单部分员工的地球图标(默认情况下非员工不可见)。 |
default menu section ordering |
允许重新排序默认菜单部分(不适用于自定义菜单) |
屏幕截图
仅为员工和登录用户设置部分
仅为员工和登录用户设置链接
更多部分、仅为匿名用户自定义菜单部分、地球图标、隐藏整个导航菜单以及更改默认菜单部分顺序的设置
对于特定于组的自定义导航侧边栏菜单部分,请使用 Group Menu Sections 主题组件。
24 个赞
nathank
(Nathan Kershaw)
11
我不太确定隐藏链接的功能目前是否正常工作。
分区可以很好地隐藏,但当我将自定义链接转换为小写和破折号时,我无法隐藏它们。
但是,官方链接似乎需要小写。所以它们可能被区别处理。
然而,如果使用完整的标题文本(带空格和大写),它们就可以正常工作。所以也许只需要更改 OP(是否可以进行维基化?)和 TC 中的说明。或者可能需要进行核心更改以保持一致性。
2 个赞
Lilly
(Lillian Louis)
12
谢谢 Nathan。是的,那里有些东西变了。我将在周末看看这个问题。
1 个赞
Lilly
(Lillian Louis)
13
好的,该组件仍然可以正常运行,但自定义链接的类名格式已更改,因此我必须对组件和 OP 中的字段文档进行一些更改。请更新主题组件。
与自定义菜单部分不同,对于自定义链接,组件设置中的名称应与其实际自定义名称的大小写格式相同。当然,默认的应该仍然是小写,只是为了让事情更加混乱,哈哈。
例如,如果我想仅为登录用户显示一个名为“GitHub Repo”的特定自定义链接:
我会在主题组件的 show these links for logged-in only 设置中输入相同的链接名称:
因此,如果您在链接显示设置中设置了自定义链接 - show these links for staff only 和 show these links for logged-in only - 您将需要更改这些组件设置条目以匹配链接名称。
请注意,对于自定义菜单部分(非链接),命名约定仍然与以前相同 - 它仍然是小写斜杠风格(例如,“Custom Menu Name” = custom-menu-name)。
再次感谢您提请我注意此事 @nathank 
我希望在某个时候能够添加重新排列所有导航侧边栏菜单部分(包括自定义部分)的功能,而不仅仅是像现在这样只重新排列默认部分。我知道如何在代码中实现它,我只需要将其构建为使用设置和变量。
4 个赞
Lilly
(Lillian Louis)
15
您无法使用此组件重新排序自定义部分。我刚刚检查了重新排序功能,它的运行符合预期。
是的,我可以确认匿名隐藏功能已损坏。我今天会修复它。感谢您告知我。
在查看之后,匿名隐藏功能运行符合预期,但您必须删除我在设置中用于演示其工作方式的默认示例,以用于“仅向登录用户显示这些部分”。
1 个赞
Lilly
(Lillian Louis)
19
好的,我现在已经这样做了,并编辑了 OP。使用截图作为默认部分和链接名称的指南。
2 个赞
nathank
(Nathan Kershaw)
20
我认为 ⋮ More 部分的 CSS 已更改(btn-flat 不再存在)
我不得不使用这个来隐藏它,以便匿名用户可以访问:
.anon button.sidebar-more-section-links-details-summary {
display: none;
}
这是一个 PR:
3 个赞
kOS
(KilianS)
22
您好,
我卡住了,在尝试理解如何使用这个漂亮的组件。我试图让匿名用户只看到“成为会员”或类似的东西。
您能帮帮我吗?
Lilly
(Lillian Louis)
23
我将提供三种不同的方法来完成此操作:
1. 使用此主题组件
创建一个自定义侧边栏菜单,其中包含指向 /login 的链接,并在主题组件中使用此设置:
2. 在新/现有主题或组件中使用 CSS
如果您只想在“我的帖子”下的顶部区域添加链接,可以通过“更多 - 自定义此部分”链接添加指向 /login 的链接,如下所示。例如,如果链接名为“登录或注册”:
然后转到主题或主题组件并像这样编辑 html / css:
请记住,该顶部区域中的链接引用区分大小写:
.sidebar-section-link-wrapper[data-list-item-name="Login or Signup"] {
display: none;
}
.anon .sidebar-section-link-wrapper[data-list-item-name="Login or Signup"] {
display: block;
}
在隐身/匿名视图中的结果:
3. 使用以下主题组件
是的,我很久以前就做了一个专门的主题组件来实现这个功能。它也反过来工作——为会员(登录用户)显示一个部分。
3 个赞