我有三个级别的类别。例如:
我想通过PHP和javascript获得父母1和2。
答案 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,这样您就可以查询类别等。这也许可以让你以更干净的方式实现你想做的任何事情,而不是依赖于类别黑客和自定义扩展。