我如何在mediawiki中获得父类别?

时间:2014-03-17 06:28:57

标签: mediawiki categories

我有三个级别的类别。例如:

  • ParentCategory1
    • ParentCategory 2
      • 子类别

我想通过PHP和javascript获得父母1和2。

1 个答案:

答案 0 :(得分:0)

您没有写下您想要执行此操作的上下文,但鉴于您可以访问CategoryPage对象(您可能已经这样做),您应该使用方法CategoryPage::getCategories来获取数组表示父类别的CategoryPage对象。然后你可以用同样的方式查询它们。

但请注意,执行此操作时也会显示隐藏的类别。另请注意,MediaWiki对类别结构没有任何限制,因此您应该准备好处理Category:A > Category:B > Category:A

等情况

一旦你获得了“祖父母”类别,如果你想要打印它,你就可以将它们作为parser function的结果返回(不需要javascript)。 arrays extension可能派上用场,因为可能有多个类别。如果你想在javascript中使用它,你可以将它作为变量返回(虽然是mw.config或其他),或者通过API

如果这是javascript需要 的内容,您也可以执行mw.config.get("wgCategories"),然后在API中查询这些类别的类别:api.php?action=query&titles=Category:A|Category:B&prop=categories

如果您不想进行任何编程,另一种方法可能是安装Semantic MediaWiki,这样您就可以查询类别等。这也许可以让你以更干净的方式实现你想做的任何事情,而不是依赖于类别黑客和自定义扩展。