12

我不太确定这在 MediaWiki 中是否可行。

我有几个类别,每个类别包含几页。如果您打开类别页面,您会看到通常由以下三个部分组成的类别内容:

  1. 用户定义的文本(可以使用编辑链接进行编辑)。
  2. 附加到此类别的所有子类别。
  3. 附加到此类别的所有页面。

我的目标是创建一个页面,其中至少包含几个类别的第 3 部分。一个页面,显示所有附加到我选择的多个类别的页面名称,按其类别分组。

我的第一种方法是使用 MediaWiki 的标准 transclude 语法:

    A 类包含以下页面:
    {{:类别:A}}
    B 类包含以下页面:
    {{:类别:B}}
    C 类包含以下页面:
    {{:类别:C}}
    ...

不幸的是,这仅包含了一个类别的第一部分:用户定义的文本。缺少页面名称列表。

我的第二个想法是看看解析器函数。也许有一些功能可以提供通过类别的页面进行枚举。但我没有找到。

也许那里有一个 MediaWiki 扩展......

有没有聪明的方法来实现这一点?

4

3 回答 3

9

尝试http://www.mediawiki.org/wiki/Extension:CategoryTree,语法如下:

Category A contains these pages:
<categorytree hideroot="true" namespaces="-">Category A</categorytree>
于 2009-06-27T14:52:52.930 回答
4

如果您想更好地控制结果的显示方式,您可能想尝试一下Semantic Mediawiki

语法看起来像:

Pages in Category A:

{{#ask:[[Category:A]]
|format=ul
}}

即使您不使用语义属性,也可以使用查询机制根据类别显示页面。

于 2009-06-27T17:31:21.410 回答
0

MediaWiki 扩展动态页面列表 ( http://www.mediawiki.org/wiki/Extension:DynamicPageList_(third-party) ) 很容易做到这一点,在一个类别中生成项目符号列表:

Pages in Category A:
<dpl>
category=A
</dpl>

没有像 Semantic MediaWiki 这样的重量级解决方案。只需安装即可。

DPL 为更强大的动态列表提供了丰富的语法。例如,要生成 3 列的编号列表:

<dpl>
category=A
mode=ordered
columns=3
</dpl>
于 2013-08-04T15:40:40.263 回答