mediawiki 如何开发特殊页面

Mediawiki特殊页面开发步骤

页面显示名字设置

1.1 languages\i18n\目录中各语言文件中的中添加特殊页面名称以网上支付为列:

添加简体中文语言(languages\i18n\zh-hans.json文件中):

"OnlinePay":"进行网银支付"

 

别名设置

2.1 languages\messages目录中各语言文件中的$specialPageAliases = array()中添加特殊页面别名。

以网上支付为列:

添加简体中文语言(MessagesZh_hans.php文件中):

'OnlinePay'    => array( '网上支付' )

 

注册Specialpage\SpecialPageFactory.php

//private static $list = array()中添加网上支付处理类:

'OnlinePay' => 'SpecialOnlinePay',

 

开发功能

4.1 includes/specials下增加SpecialOnlinePay.php文件

4.2 添加页面链接功能

//通过构造函数设置页面显示的信息和链接信息,当前设置为'OnlinePay'后,在页面上显示信息为读取第一步中设置的值,URL链接为第二步设置的值。可以看到这两个值都是通过'OnlinePay'进行设置的,所以在第一步和第二步中的健值必须一样,否则显示不出相关信息。

public function __construct($name = 'OnlinePay') {
parent::__construct($name);
}
 

 

// 文件中最后的方法getGroupName返回值代表特殊页面列表中的分组,本例的分组为'other',在特殊页面的【其他特殊页面】下。

protected function getGroupName() {
return 'other';
}

 

//进入特殊页面

public function execute($subPage) {
//判断权限,在未登录状态不可通过url 直接访问
$this->checkPermissions();
//设置头部信息
$request = $this->getRequest();
$out = $this->getOutput();
$this->setHeaders();

 

//设置网页

方法一:

$this -> getOutput() -> addHTML("<html><body>......<body></html>");

 

方法二:

$template = new StrokesTemplate();
$this->getOutput()->addTemplate($template);

 

 

StrokesTemplate 为模板类:

Exp

<?php 
class StrokesTemplate extends BaseTemplate {
function execute() {
?>
<html>...</html>
<?php
}
}
?>

 

StrokesTemplate.php 使用前需要在AutoLoader.php中注册。

 

'StrokesTemplate' => 'includes/templates/StrokesTemplate.php',

  

 

配置页面指向

5.1ncludes /AutoLoader.php中文件路径

'SpecialOnlinePay' => 'includes/specials/SpecialOnlinePay.php',

 

页面测试

6.1进入特殊页面,找到“链接”

进入特殊页面中,在【其他特殊页面】类别下点击【进入网银支付】链接,即可跳转到创建的页面中。

    见附件:图片1.png

 

6.2进入刚刚创建的特殊页面

 见附件:图片2.png

 

 

猜你喜欢

转载自chengjunflying.iteye.com/blog/2197696
今日推荐