扩展MW:CategoryTree
跳到导航
跳到搜索
说明
CategoryTree扩展为MediaWiki的Category结构提供了动态的展示。不仅可以展示子类别,还可以展示类别下的wiki页面,以及父类别。
添加代码到LocalSettings.php,以加载CategoryTree到系统:
wfLoadExtension ( 'CategoryTree' );
CategoryTree可以通过三种方式使用:
- 直接在Category页面上使用
- 作为自定义标签(或解析器函数)在wiki页面使用
- 作为特殊页面使用
设置[1]
<categorytree>标签
<categorytree>标签的用法为:
<categorytree mode = "pages">Tools</categorytree>
将该标签行放在wiki页面中,就会以树形结构显示出Tools类别下面的内容。
标签的用法类似类似HTML标签,可用的属性如下:
属性 | 说明 | 参数 |
---|---|---|
mode | 定义了哪些页面会被展示在属性结构中。
mode可能会因为使用 |
|
depth | 定义了初始时展示的结构树的深度,默认值为0表示只显示根节点。最大值取决于mode参数,以及配置文件的$wgCategoryTreeMaxDepth 项
|
|
hideroot | hideroot=on 时,隐藏根节点
|
|
hideprefix | 确定是否隐藏树中条目的namespace前缀 |
|
showcount | showcount=on 时,显示子类别的条目数量
|
|
notranslations | notranslations=on 时,隐藏与该类别相关页面所对应的所有翻译页面
|
|
namespaces | 树中应显示的命名空间列表。列表的项必须是命名空间的名称,以空格隔开,主空间用“-”或“0”表示。只有类别的命名空间在列表中时,才会显示子类别。见注意:关于“命名空间”属性 |
<categorytree>标签同样支持标准HTML的块元素的属性,如“class”、“style”、“id”等。
注意
关于“命名空间”属性:
Category
是一个名称空间。默认情况下,Category
在所有mode
下都会显示,但是指定namespaces
参数会将其隐藏,就像列表中不存在的任何其他名称空间的父类别一样。如果要列出给定名称空间中的页面,包括子类别中的页面,只需将“类别”添加到名称空间列表中。
如:
- 在Category:Manual中列出主名称空间页面:
<categorytree mode="pages" namespaces="Main">Manual</categorytree>
- 在Category:Manual中列出主要的名称空间页面和子类别:
<categorytree mode="pages" namespaces="Main Category">Manual</categorytree>
在下面这些情况中,mode
会被namespace
属性覆盖:
- 如果仅有Category命名空间,则等同于
mode=categories
; - 如果列表中存在File名称空间,则意味着
mode=all
; - 否则mode=pages将被使用。这意味着,如果未更改站点配置文件,则以下内容是等效的(前两个始终等效,第三个只有
$wgCategoryTreeDefaultMode
在默认情况下才是):- <categorytree mode="categories">手册</categorytree>
- <categorytree namespaces ="Category">手册</categorytree>
- <categorytree>手册</categorytree>
{{#categorytree}}解析器函数
可以使用解析器函数语法在页面上放置类别树。和<categorytree>
标签作用一样,用法如{{#categorytree:Foo}}
; 可以使用命名模板参数的语法来指定选项,例如{{#categorytree:Foo|hideroot|mode=pages}}
。
使用解析器函数语法的优势在于,它允许您在指定要显示的类别时使用魔术字,模板和模板参数。例如:
- 使用魔法变量,以显示“此页面”类别树(可能是在类别描述页面很有用):
{{#categorytree:{{PAGENAME}}}}
。 - 使用模板指定类别:
{{#categorytree:{{root category}}}}
,而root category
的名称将由Template:Root_category
的内容定义。 - 在模板内部使用CategoryTree时,使用template参数指定类别:
{{#categorytree:{{{1}}}}}
在Template:Baz中,可以使用{{Baz | Foo}}
进行调用。
Special:CategoryTree页面
特殊页面称为Special:CategoryTree,在此处输入类别的名称,可以浏览其内容。
参考
- ↑ Extension:CategoryTree https://www.mediawiki.org/wiki/Extension:CategoryTree