Drupal 10 面包屑模块对比.
面包屑是重要的导航工具,帮助用户了解自己在网站中的位置。Drupal 提供了多种面包屑模块,各有独特的功能和特性。本文将对比四个常用的 Drupal 面包屑模块:Easy Breadcrumb、Menu Breadcrumb、Current Page Crumb 和 Crouton,讨论它们的功能、使用场景和配置,帮助您在为项目选择合适的模块时做出明智的决定。
| 功能 | Easy Breadcrumb | Menu Breadcrumb | Current Page Crumb | Crouton |
|---|---|---|---|---|
| 包含当前页面标题 | ✅(可配置) | ✅(可配置) | ✅ | ✅(可配置) |
| 使用菜单项生成面包屑 | ❌ | ✅ | ❌ | ✅ |
| 使用 URL 结构生成面包屑 | ✅ | 仅在不在菜单中时 | ❌ | ❌ |
| 可定制首页片段 | ✅ | ❌ | ❌ | ✅ |
| 仅含首页链接时隐藏面包屑 | ❌ | ✅ | ❌ | ❌ |
| 包含分类层级 | ✅(可选) | ✅(可选) | ❌ | ❌ |
| 截断面包屑标题的最大长度 | ✅ | ❌ | ❌ | ❌ |
| 面包屑的 JsonLD 元数据 | ✅ | ❌ | ❌ | ❌ |
| 可配置是否包含管理路径 | ✅ | ❌ | 管理路径保持不变 | ❌ |
| Aria-current="page" 无障碍支持 | ❌ | ❌ | ❌ | ✅ |
Easy Breadcrumb
Easy Breadcrumb 是用户友好的模块,自动将当前页面标题加入面包屑。它利用 URL 和页面标题创建面包屑片段,提供简单但可定制的方案。
主要特性:
- 开箱即用,并提供定制选项
- 兼容 Pathauto 和 Breadcrumb Extra 字段模块
- 提供多种设置,可纳入或排除片段和路径
- 支持截断片段标题,并使用简单的正则表达式替换标题
使用场景:适合需要最少设置和定制,同时仍希望获得可靠面包屑方案的项目。
Menu Breadcrumb
Menu Breadcrumb 基于父级菜单标题生成面包屑,可以更好地控制基于菜单的面包屑结构,适合重度依赖菜单组织的项目。
主要特性:
- 允许为面包屑生成重新排序和选择菜单
- 支持将页面标题追加到面包屑(可点击或不可点击)
- 仅含首页链接时隐藏面包屑
- 内容不在菜单中时按 URL 结构生成面包屑
使用场景:非常适合菜单结构清晰的网站,其面包屑导航紧贴菜单层级。
Current Page Crumb
Current Page Crumb 是轻量模块,扩展 Drupal 8 核心系统面包屑,将当前页面标题作为纯文本面包屑追加。它无需任何配置,也不修改管理路径。
主要特性:
- 将当前页面标题作为纯文本面包屑追加
- 安装过程简单
- 无需配置
使用场景:适合只需要朴实方案将当前页面标题加入面包屑、无需额外定制选项的项目。
链接: Current Page Crumb Drupal 模块
Crouton
Crouton 用基于菜单的方案替代默认的基于路径的面包屑构建器,使用菜单项生成面包屑,灵活性最高。该模块提供多种配置选项,可以更好地控制面包屑的显示。
主要特性:
- 处理所配置菜单的活动菜单轨迹
- 将面包屑标签与目标内容解耦
- 支持自动标记 aria-current="page"
- 可配置首页和当前页面链接、已禁用菜单项和纯结构菜单项的选项
使用场景:适合需要高度可定制、基于菜单且无障碍增强的面包屑方案的项目。
面包屑模块与 Drupal 核心的兼容性
| 模块名称 | Drupal 7 | Drupal 8 | Drupal 9 | Drupal 10 |
|---|---|---|---|---|
| Easy Breadcrumb | ✅ | ✅ | ✅ | ✅ |
| Menu Breadcrumb | ✅ | ✅ | ✅ | ✅ |
| Current Page Crumb | ❌ | ✅ | ✅ | ✅ |
| Crouton | ❌ | ❌ | ✅ | ✅ |
结论
这四个 Drupal 面包屑模块各有优势和使用场景。Easy Breadcrumb 提供简单的开箱即用方案,Menu Breadcrumb 更适合以菜单为中心的网站,Current Page Crumb 以朴实的方式将当前页面标题加入面包屑,Crouton 则提供高度可定制且无障碍的基于菜单的面包屑方案。请评估您的项目需求,选择最符合需求的模块,以优化用户体验。