⬇️ 下拉菜单标题

:mag: 概述

此主题组件允许您将带有文本、图标和下拉菜单的链接添加到 Discourse 站点的原生标题中。

非常欢迎提交错误报告、功能请求和拉取请求;赞助可以使 Pavilion 团队优先处理此组件的开发工作。

:computer: 代码

查看 GitHub 仓库

:gear: 设置

您可以配置各种设置来自定义组件,包括链接自定义、图标来源、添加链接安全性、定位等。

所有设置的列表以及有关它们的详细说明可以在此处找到。

:thinking: 何时使用

如果您想在 Discourse 的现有标题中内联图标、链接和下拉链接,此组件非常有用。这是拥有大量可访问链接而又没有不必要混乱或侧边栏失控的好方法。

如果您需要大量下拉链接,请查看标题子菜单,它会在 Discourse 的原始标题上方创建一个标题菜单行。

尽管此组件也支持单独添加链接而无需下拉菜单,但如果您只需要没有下拉菜单的链接,请随时使用自定义标题链接

:clapper: 预览

桌面版:

Desktop

移动版:
由于移动版空间有限,可以通过点击向下箭头按钮来触发链接。


安装主题组件

49 个赞

不确定为什么,但这似乎对我不起作用,一旦启用,我的标题就会消失,在一个干净的主题上,没有其他组件,也尝试了多个基础主题

<div id="ember7" class="d-header-wrap ember-view"><div></div></div>

2.9.0.beta4

(c99a6b10fb)

1 个赞

@Fma965,抱歉,我修复了一些小错误,现在应该可以正常使用了。请告知结果。

3 个赞

现在运行得很棒,谢谢!

需要注意的一点是,由于这些不使用 a 标签,因此您无法像在 header links 插件中那样通过中间单击来打开链接,您不使用 a 标签是有原因的吗?

2 个赞

@Fma965
嗯……这是一个有趣的观点。我没有使用锚点标签的原因是,每个链接都是一个组件,如果存在下拉项,它可能会生成一个下拉菜单。使用该组件时,我还利用了 click() 方法,该方法调用:DiscourseURL.routeTo(this.attrs.url);

这有一些好处,例如可以维护你在主题中的位置历史记录。例如,如果你点击一个带有锚点标签的主题链接,它总是将你带到主题的顶部。但是,如果你以前访问过该主题,并且最后一次阅读是在主题的中间部分,那么 routeTo 方法会将你带到该主题的相同位置。

我想知道是否有办法为组件点击添加中间鼠标点击功能……我需要研究一下,也许 Discourse 团队的某个人会有想法。

1 个赞

是的,我猜到会与此相关,只是我的一个版主提到了这一点,所以我想在这里提出来以防万一 :slight_smile:

1 个赞

你好 Keegan,感谢你创建这个主题组件!它完美地连接了我之前看过的“自定义页眉链接”和“页眉子菜单”组件。

有没有可能像其他两个主题组件一样,为我们添加的链接添加一个“target”选项(在新标签页中打开)?

1 个赞

我正在手动从外部源填充子菜单项,并在循环中发送几个 ajax 请求来检索它们。很自然地,如果有很多项目。组件在所有请求完成之前加载,并且一些项目丢失了。是否可以修改源来实现这一点?

1 个赞

很棒的组件。感谢分享 :heart:

您好!感谢您提供的这个出色的组件 :slight_smile:

在论坛未连接时,右侧似乎缺少了一个边距。看起来是这样的:
Capture d’écran 2022-12-05 à 16.22.20

然而,如果我已连接,则一切正常。

希望这有助于改进它。

是否有以下可能:

  1. 链接到永久 URL?
  2. 如先前所述,在新标签页中打开的目标链接?

我们正在 Discourse 服务器上设置一个新实例,并试图让我们的 Discourse 菜单尽可能地与我们的 WP 网站保持一致。

谢谢。

1 个赞

我刚安装了这个组件来替换“自定义页眉链接”和“简易页脚”组件。

我真的很喜欢这个组件,它太棒了!

对我来说可以。你的意思是 _blank 目标或者类似的东西,还是外部网址(对我来说可以工作)?

我注意到一件事:在移动设备上我无法向下滚动。似乎我的菜单太多了。 :wink: 可以调整吗?

2 个赞

我刚刚为这个问题提交了一个 PR:

如果您查看上面的链接,您可以看到调整后的 CSS 按预期工作。 :slight_smile:

3 个赞

您好,感谢您提供如此出色的组件!
不过,我注意到当我点击一个链接时,所有的文本和图标都会被最后一个元素的文本和图标替换掉。

我还注意到,如果我点击logo,链接的文本和图标会发生变化。

我附上一个简短的视频示例:

页面链接是:https://oii.francescomancuso.it/forum/

我该如何解决?提前非常感谢!

很棒的主题组件! :chefs_kiss:

如果也能设置链接在新标签页中打开,而不是像现在这样在同一个标签页中打开,那就更好了。 :+1:

你好 Francesco :wave:

我很乐意看看,但你更改了布局,并且显然不再使用该组件来显示链接。

我在我的测试论坛上无法重现该问题。

如果你碰巧能再看看,并告诉我们你是否仍然遇到该问题,请随时这样做。 :slight_smile:

如果实现了这样的功能,你认为它应该覆盖用户关于外部链接的偏好设置(“在新标签页中打开所有外部链接”设置)吗?

image

2 个赞

您好,非常感谢您的回复。

我决定切换布局,以便在我的平台的所有区域创建统一的图形。
进行域名迁移后,我会检查错误是否已解决。

祝您有美好的一天 :smiley:

2 个赞

我认为它应该遵循用户的偏好。除非被管理员或版主覆盖 :+1:

我已经实现了这个主题组件,并且已经收到了一些长期会员的非常有价值的反馈。

所以基本上,如果我:

  • (1)先点击标题栏上的搜索按钮,然后
  • (2)再将鼠标悬停在下拉标题栏上。
    → 下拉标题栏会出现在搜索框下方,这不是我们想要的。理想情况下,搜索栏应该在下拉菜单弹出之前消失。

而如果我先将鼠标悬停在下拉标题栏上,然后点击搜索按钮,它的行为就如我所料,即(1)下拉菜单消失,(2)搜索栏出现。


另一位会员也抱怨了它在手机上的外观,有没有办法只在桌面上启用这个主题组件?

谢谢 :+1:

1 个赞