使用DB数据生成MediaWiki表

时间:2013-12-24 18:32:39

标签: php mediawiki

我正在使用MediaWiki。我需要为一些文章创建一个动态表。

例如,给定一个名为“Lupo”的页面,我需要查询数据库,使用代码“Lupo”找到条目(与文章标题相同的值)并生成一个表格,其中包含查询结果集提供的一些数据

我正在尝试使用解析器函数执行此操作:

$parser->setFunctionHook('adetail', 'aFunc' );
:
function aFunc($parser, $name) {
    // do the query etc.
}

以这种方式调用函数:

{{adetail:Lupo}}

无论如何,我不想在解析器函数参数中重复文章标题。 有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

  • 如果您从模板调用此解析器函数,则可以使用魔术字FULLPAGENAME:{{adetail:{{FULLPAGENAME}}}}。无论模板在何处使用,FULLPAGENAME都将替换页面名称。 {{PAGENAME}}执行相同的操作,但没有命名空间前缀。

  • 如果您始终希望解析器函数采用当前页面,则可以从函数aFunc like this访问它:

    function aFunc($parser, $params) {
       $title = $parser->getTitle()->getPrefixedText();
       ...
    
  • 如果您正在寻找一种创建动态表格的方法,而不必将自己的扩展程序放在一起,我建议您查看Semantic MediaWiki