维基旅行:面包屑导航
维基旅行有一个功能,可以在目的地文章标题下方显示面包屑导航菜单,以显示目的地所属的国家和地区。
示例: 欧洲 > 俄罗斯 > 俄罗斯南部 > 高加索北部 > 达吉斯坦
这可以使浏览网站和查找更大或附近的地点更加容易。本页面描述如何为页面添加面包屑导航菜单。
何时使用
[]应为所有目的地文章使用面包屑导航。旅行主题和行程有单独的面包屑路径。
要添加菜单,您需要指定一个地点所属的下一个更大的区域。例如,蒙特利尔位于魁北克,而德国位于中欧。
要说明一个地点属于另一个地点,请在页面底部放置“isPartOf”模板,并附上较大地点的名称。因此,蒙特利尔的指南有一行写着 {{isPartOf|Quebec}},德国的指南有一行 {{isPartOf|Central Europe}}。
按惯例,此模板放置在目的地文章的末尾。
- 如果有两条“IsPartOf”行,面包屑导航代码将只使用最后一条。
- 您只需要指定紧邻的上一级区域。德国属于欧洲,但我们不需要在德国页面上添加 {{isPartOf|Europe}},因为中欧已经被标记为属于欧洲。
- 与缓存系统的交互性较差。如果您更改了一个较大实体的位置,其包含实体的缓存页面不会更新。您可以使用“action=purge”来清除缓存并重新加载页面。
- 歧义页除非层次结构中有两个部分具有相同的歧义名称,否则不会显示(例如,请参阅东京)。
- 另见 维基旅行:地理层次结构
对于旅行主题,可以使用{{PartOfTopic}}模板添加面包屑导航。
对于行程,可以使用{{PartOfItinerary}}模板添加面包屑导航。
子页面
[]子页面通常用于大城市的区域。在这种情况下,面包屑导航假定子页面位于父页面之内。例如,文章 伦敦/威斯敏斯特 被识别为伦敦的一个子区域。
但是,如果省略了模板,则不会为 isPartOf 关系生成任何 RDF。
分类
[]页面顶部的面包屑允许您沿着路径向上导航到更大的区域。
要浏览同一区域内的地点或向下导航到更小的地点,请使用页面底部的分类 – 要看到这一点,您的“偏好设置”(外观)必须设置为显示隐藏分类。分类的名称是 isPartOf 模板中的名称。如果分类不存在,页面底部将创建一个小链接,以帮助创建具有正确内容的分类。请参阅 维基旅行:区域分类。
故障排除
[]- 如果面包屑菜单根本不显示,
- 请确保文章中有一个 IsPartOf 模板和一个 {{pagebanner}} 在文章的顶部。
- 请确保文章文本中没有其他 isIn 或 IsPartOf(这偶尔是导致面包屑损坏的原因)
- 如果您更改了文章或其父文章的 IsPartOf 设置,但面包屑菜单仍然显示旧内容,那么可能是缓存的 IsPartOf 信息不正确。通过清除缓存来解决此问题。您必须对更改的文章下方,直到当前文章的所有文章都执行此操作。从那些 IsPartOf 于已更改文章的文章开始,向下到所有 IsIn 它们的所有文章,依此类推。(如果您更改了顶级文章的 IsPartOf 关系,可能需要清除大量缓存!)
- 您可以通过点击文章的“历史”标签,在浏览器地址栏中找到字符串“action=history”,将其更改为“action=purge”,然后按 Enter 键来清除缓存,这将显示一个没有面包屑菜单的文章;3) 点击“文章”标签,将显示带有正确面包屑菜单的文章。
- 您也可以编辑文章,然后点击页面底部的“清除缓存”链接。
- 如果只有一个部分的 GeoCrumbs 路径(例如“Orange County > Beaches > Some town”,而不是“North America > USA > California > Orange County CA > Beaches > Some town”),请检查路径中列出的第一个区域,以验证该文章是否具有“isPartOf”标签。如果奥兰治县是一个歧义页,它将没有标签,因此路径会中断。如果 isPartOf 目标是一个重定向,那么该重定向(而不仅仅是它指向的另一页)必须有“isPartOf”才能继续路径。
幕后
[]面包屑是由 mw:Extension:GeoCrumbs 生成的。
面包屑导航代码使用 IsPartOf 模板定义的 RDF isPartOf 关系来确定目的地的地理层次结构。RDF 定义了两个地方之间的关系,导航代码读取该关系。使用子页面时会出现一个例外。子页面通常用于大城市的区域。在这种情况下,模板和相关的 RDF 被忽略,面包屑导航假定子页面位于父页面之内。
GeoCrumbs 基于树状结构,并假定每个目的地或区域只属于一个父区域。这需要为位于区域边界上的地点提供变通方法。
- 俄罗斯和土耳其被标记为 isPartOf Europe,尽管两国的大部分土地在亚洲。
- 尼亚加拉瀑布、堪萨斯城和苏圣玛丽每个都有两个单独的文章来描述边境两侧的地点。有些还有一个歧义页。
- 一些跨越边境的地区 — 例如 诺加利斯、巴克特里亚、费尔干纳山谷 或 加拿大国家首都地区 — 被标记为 {{extraregion}}。这些会被面包屑导航到“最小公倍数”,即包含所有部分的最小区域 - 即使该区域是层次结构中较高的点,例如 北美洲。
- 像 千岛群岛(许多是公园、小屋或空地)或 格伦里奥(一个鬼城)这样的乡村地区,如果太小而无法分成两个文章,则不进行划分。
如果一个文章上有两个或更多“isPartOf”标签,该扩展程序将忽略除最后一个标签之外的所有标签。没有自动工具可以验证哪些地方是一个区域的一部分;由面包屑路径生成的链接不会通过 special:whatlinkshere 显示。
该扩展的开源代码可在 Wikimedia 的 git 版本控制系统中获取。