我目前在内部mediawiki上运行一个简单的信息框模板。我想将页面类别传递给模板,以便我可以使用类别树生成列表。
是否可以让模板选择Category = foo
来自我已经拥有的网页
[[Category:Foo]]
,即页面顶部的模板文字会有一个类似
的部分{{Infobox website | Category = *something* }}
从[[Category:Foo]]
中提取我已经拥有的所有页面?
答案 0 :(得分:0)
没有内置Magic Word来获取类别,但您可以轻松地为其创建parser function,并使用输出,例如Arrays extension以查明某个网页是否属于某个类别。然而,这似乎可以节省很少的工作(偶尔输入几个额外的字母)。
如果你想创建一个解析器函数来获取当前它就像这样简单:
function getCategories( &$parser, $title) {
// Will return a comma separated list of categories.
$categories = $title->getParentCategories();
return implode(",", $categories);
}
如果您知道要为每个页面检查哪种类别,您也可以使用Extension:PageInCat。
修改:我现在看到您的问题被标记为Semantic MediaWiki
。这很简单:
{{#if:
{{#ask:[[Category:Foo]] {{FULLPAGENAME}}|default=|}}
|''This page is in Category:Foo!''
|''This page is not in Category:Foo. Let's add it.''
}}