标题子菜单

抱歉,我没有完全阅读您的评论。我当时想到的是我也遇到的左右滚动问题。

2 个赞

我并没有对它做什么特别的处理。你遇到什么问题了?

1 个赞

当我点击菜单中的某一项时,菜单会保持打开状态,同时页面会刷新。只有当你将焦点移出菜单后,菜单才会消失。这种行为在移动设备上更为明显,因为屏幕较小,且菜单不会自动关闭,导致你无法看到页面内容。

你使用的是最新版本的子菜单吗?

1 个赞

旧版本的子菜单似乎没有这个问题,但不如新版本流畅。如果你想解决点击子菜单后菜单不会自动关闭的 bug,请使用这个旧的 GitHub 分支:

1 个赞

这个组件太棒了,经过一点 CSS 微调后,我对结果非常满意。感谢你们开发它!

我遇到的一个主要问题是,一旦菜单设置完成,要插入新条目非常困难。

我看到有一个拉取请求(pull request),提议将所有独立的文本字段替换为单个大文本框,我认为这样会合理得多。

另一个替代方案是允许导入/导出配置。(也许这需要 Discourse 核心方面的改进,而不是主题组件本身?我不太确定。)如果我们能做到这一点,就可以先在文本编辑器中修改配置,然后上传,这样就很方便。同时也能轻松进行备份。

(我原本以为组件配置界面底部的“导出”按钮可能能实现这个功能,但它似乎只是保存组件的源代码和默认配置,而不是我自定义的内容。)

除此之外,这个组件非常棒,它让我们能够在论坛顶部添加更多常用的链接,帮助用户和我们自己快速找到所需内容。

4 个赞

这位社区开发者提供的这个分支包含一个大型文本区域,用于添加菜单和子菜单项。虽然这是一个旧版本,但它仍能满足我们的需求。

3 个赞

@Canapin 的分支源自 https://meta.discourse.org/t/paid-header-submenus-ui-modification/144275。我们也发现它能够满足我们的需求。

但请务必不要直接在子菜单文本框中编辑文本。我们使用 CSV 文件维护菜单,并遵循以下流程(该流程发布在员工操作指南主题中):

  • 在电子表格应用中打开 CSV 文件。
  • 编辑数据。通常只需遵循现有模式即可。
  • 保存 CSV 文件。
  • 在文本编辑器中打开该 CSV 文件。
  • 从文本编辑器中复制内容,并粘贴到子菜单项框中。
  • 将包含更改的 CSV 文件上传到此主题,以保持同步。

另外值得注意的是,您可以在 CSV 中使用一些 HTML 标签和空格来实现更清晰的组织结构,甚至创建子子菜单,这有助于在手机上紧凑地展示大量内容:

5 个赞

我想知道 Zoom 是如何让菜单在页眉部分正常工作的

3 个赞

这(下拉菜单)可以通过简单的 HTML / CSS 实现,与 Discourse 无关。你可以按 F12,然后通过浏览器工具自行查看他们是如何实现的。

4 个赞

在阅读了几篇帖子后,我原本认为,若要向 .d-header 添加链接,唯一的办法是使用一个类似的组件,但该组件会在上方生成一个额外的标题栏。

在发布此帖后,我想到,如果像我在 我的帖子 中所建议的那样进行调整,那么像 自定义标题链接 这样的组件也能实现这一功能。

3 个赞

升级到最新版本后,标题子菜单中的“固定模式”(“强制菜单始终显示在顶部,无论滚动情况如何——仅限桌面端”)无法正常工作。在主页上,它会添加大量空白;在其他页面上,标题子菜单会覆盖主要的 Discourse 菜单。我相信这与以下内容有关:

但我没有看到该主题组件的 CSS 为 d.header 设置绝对定位。有什么建议吗?

3 个赞

您正在使用哪个浏览器?能否分享一张问题截图?

这是我在最新版本的 Discourse 中启用“固定模式”并向下滚动主题列表时看到的效果:

1 个赞

在桌面的 Chrome 或 Firefox 上情况相同。移动端正常。

主页面(未启用“固定模式”,即正常模式):







主页面(启用“固定模式”后出现额外空白):






向下滚动主题(未启用“固定模式”,即正常模式):






向下滚动主题(启用“固定模式”后,Logo、主题标题和汉堡菜单被菜单栏遮挡):

2 个赞

您还有其他自定义 CSS 吗?可能是 .docked .d-header#main-outlet 上的某些内边距或外边距与 Discourse 更新发生了冲突……

4 个赞

是否可以使用不带下拉菜单的带 URL 的菜单项?

2 个赞

如果您不需要下拉菜单,我建议访问 https://meta.discourse.org/t/custom-header-links-icons/86307,这样争议更少,集成感也更好。对于您提出的实际问题,我并不知道确切答案,但猜测是“不行”。

2 个赞

我目前正在使用这个插件,但由于头部区域空间不足,我打算将下拉菜单放在顶部。不过,我需要为顶级菜单添加 URL。

另外,我无法通过“自定义头部链接”创建下拉菜单。看起来是 Zoom 实现了这一功能。我通过控制台检查了他们的下拉菜单,但未能弄清楚他们是如何干预该组件的 HTML 结构,从而为任意项添加下拉菜单的。

2 个赞

我有一个功能请求:既然滚动问题无法解决,能否提供一个选项,在移动设备上隐藏文字,只显示图标?似乎无法仅通过 CSS 针对文字进行隐藏,否则我直接那样处理就好了。谢谢!

3 个赞

你好,
安装“标题子菜单”组件后,该组件虽然显示出来,但会覆盖我当前的论坛标题栏。


我使用的 Discourse 版本是 2.4.1。

如果有人能指导我如何解决这个问题,不胜感激。
谢谢。

1 个赞

您尝试过更新 Discourse 吗?最新版本为 2.7.0.beta3。

2 个赞