给mediawiki加个页面,官方点的说法就是扩展个接口。(本人的例子是从数据库中取数据放到一个php页面,而通过mediawiki的Special:Specialpages上的链接可以点到我要的页面。)
Mediawiki的special页面集就是增加页面的地方。
如何增加页面,http://www.mediawiki.org/wiki/Manual:Special_pages
该网页已经讲的差不多了,在我增加页面的过程中遇到这么几点要注意的:
1. <special_page_name>.i18n.php
中
array
的
“=>”
左边的字段要小写,不然以后查找
message
的时候,用的是小写的来查找,就会对不上号,会导致
Special:Specialpages
页面上显示你的
page
的名字前后有这么两个东西
<和>也就是<和>。
2.
<special_page_name>_body.php
中的构造函数中要有这么一句
self::loadMessages();。然后后面要有locadMessages()的函数,目的应该也是将i18n.php
中的
messages load
到总的
messages
中。
function loadMessages() {
static $messagesLoaded = false;
global $wgMessageCache;
if ($messagesLoaded)
return $messagesLoaded;
$messagesLoaded = true;
require (dirname ( __FILE__ ) . '/GetDataFromExcel.i18n.php');
foreach ( $allMessages as $lang => $langMessages ) {
$wgMessageCache->addMessages ( $langMessages, $lang );
}
return $messagesLoaded;
}
3. 我在写
execute
中的
$wgOut->addhtml
时,写的前两句的时候,整个的页面显得非常之难看,我后来也不管了,将整个表从数据库中显示出来,整个页面竟奇迹般地变漂亮整洁了。