色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Mediawiki擴展編寫實戰

  Wikipedia大家都很熟悉,而Mediawiki則是Wikipedia背后的功臣,整個Wikipedia都構建在mediawiki之上,mediawiki的穩定性和高效性值得信賴,同時Mediawiki非常易于擴展,可以通過Extension的方式添加非常多的功能,而且Mediawiki的Extension社區也非常活躍,大家可以到Mediawiki Extension目錄下去下載自己需要的擴展程序。

  上周末,幫朋友寫了一些Mediawiki的擴展,立即被Mediawiki的強大擴展性折服,主要實現的功能有:增加Google Analytics統計、自定義標題、增加Google Adsense廣告之類,寫Mediawiki的擴展,最好的參考是Mediawiki擴展手冊:http://www.mediawiki.org/wiki/Manual:Extensions。

  Mediawiki的擴展主要有Tag Extension、Parser Functions、Hooks、Special Pages、Skins、Magic Words,對應的中文是:標簽擴展(自定義wiki標簽,比如xxxx)、解析擴展(和標簽類似,不過呈現方式稍有不通,為{{#foo : bar}})、鉤子、特殊頁面、皮膚、魔術關鍵字,我這里演示的是Parser Functions和Hooks,其他的差不多類似。

  一、增加Google Analytics統計和Google Adsense廣告

  原理很簡單,我們在頁面顯示之前,把Google Analytics和Google Adsense的代碼append到要顯示的內容即可,代碼:

 

<?php
/**
* 安全設置,防止惡意調用
*/
if (!defined('MEDIAWIKI')) {
die(
'This file is a MediaWiki extension, it is not a valid entry point' );
}

/**
* 擴展的基本信息
*/
$wgExtensionCredits[
'other'][] = array(
'path' => __FILE__,
'name' => '插件名稱',
'version' => '1.0',
'author' => '作者',
'descriptionmsg' => '簡要說明',
'url' => '作者地址',
);

/**
* 注冊一個鉤子,在頁面顯示之前,處理頁面顯示內容
*
* 全部鉤子列表:http://www.mediawiki.org/wiki/Manual:Hooks
*
*/
$wgHooks[
'BeforePageDisplay'][] = 'dzBeforePageDisplay';
function dzBeforePageDisplay(&$out, &$skin) {
/**
* 在LocalSettings.php定義$wgDangZhiAppendHtml
* 把要添加的Google Analytics和Google Adsense代碼放里面
*/
global $wgDangZhiAppendHtml;

// 頁面添加HTML
$out->addHTML($wgDangZhiAppendHtml);

// 記得返回true,收工
return true;
}

it知識庫Mediawiki擴展編寫實戰,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 光山县| 武安市| 镇雄县| 乌海市| 望谟县| 沽源县| 紫金县| 旬邑县| 婺源县| 延吉市| 云浮市| 桐庐县| 海城市| 大足县| 黄浦区| 成都市| 特克斯县| 新民市| 新野县| 龙山县| 同江市| 江北区| 加查县| 红桥区| 辽宁省| 广昌县| 当涂县| 新郑市| 平度市| 罗山县| 连云港市| 通州区| 涿鹿县| 新邵县| 天水市| 茶陵县| 泰顺县| 德格县| 同心县| 宁乡县| 宜章县|