扩展手册

This page is a translated version of the page Manual:Extensions and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Esperanto • ‎Tiếng Việt • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎čeština • ‎Ελληνικά • ‎български • ‎мокшень • ‎русский • ‎العربية • ‎سنڌي • ‎پښتو • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

扩展允许您定制MediaWiki的外观和工作方式。

虽然许多扩展由MediaWiki的开发者维护,但其他由第三方开发者编写。 这样会导致一个结果,会出现bug,他们不能保证能够和其他扩展相互兼容。 一些扩展不被维护;并不是所有的扩展都能在所有的MediaWiki版本運作。 使用任何扩展,特别是那些标记着不稳定的扩展,当你使用时会有所风险。 當你使用需要修補核心軟體的擴展時,確認有備份資料庫。 這是避免導致維基出錯的意外。

扩展的类型

  解析器标签

解析器标签扩展了内置的wiki标记,具有其他功能,无论是简单的字符串处理还是完整的信息检索。


详细了解解析器标记

  解析器函数

解析器函数是特殊的wiki标记语法,可以与页面中的其他wiki元素“交互”,并提供特定的输出。


详细了解解析器函数

  钩子

挂钩允许在发生某些已定义事件(例如保存页面或登录用户)时执行自定义代码。


详细了解鉤子

  特殊页面

特殊页面是由软件根据需要创建以执行特定功能的页面。


详细了解特殊页面

  皮肤

皮肤允许用户自定义MediaWiki的外观。


详细了解皮肤

  魔术字

魔术字是一种将各种wiki文本字符串映射到与函数关联的单个ID的技术。


详细了解魔术字

  API

MediaWiki提供了一个动作API,一种允许访问一些wiki功能的Web服务,如身份验证,页面操作和搜索。


详细了解MediaWiki API

  页面內容模型

MediaWiki 1.21 中引入的ContentHandler 使得Wiki頁面可以由除Wikitext之外的數據組成,例如JSON或Markdown。


详细了解內容模型

  认证

MediaWiki提供SessionManager和AuthManager两个与身份验证相关的框架,通过自定义身份验证机制增强安全性。


详细了解认证

浏览扩展插件

您可浏览分类:按分类排列的扩展 以了解已有插件的功能范围。 关于如何安装这些插件或者如何编写自己的插件,参见后续章节。

检查已安装的扩展

只有那些具备访问服务器文件系统的管理员可以安装用于MediaWiki的扩展插件,但是任何人都可以点击Special:Version页面获得当前有哪些扩展插件被用在这个MediaWiki网站上的信息。 例如,点击这里可以了解哪些扩展插件被用在了英文维基百科。

安装扩展插件

安装完MediaWiki后即可安装扩展插件。 添加一个插件需要下面几个步骤:

  1. 在您开始之前
    少数扩展插件需要安装补丁。其中大多数提供了专为unix安装命令而设计的使用说明。 这需要命令行权限(SSH)来运行这些在扩展插件帮助页面上给出的命令。
  2. 下载您的扩展。
    Extension Distributor可帮你选择和下载最受欢迎的扩展插件。
    扩展插件通常以模块的程序包形式发布。 它们通常位于$IP /extensions/的子目录中。 在维基媒体Git存储库存储的扩展列表位于git:mediawiki/extensions。 一些不使用版本控制的扩展都不推荐使用。
    bundlescomposer 包存储库中也提供了一些扩展。
  3. 安装您的扩展。.
    LocalSettings.php 文件的结尾添加下列代码:
    wfLoadExtension( 'ExtensionName' );
    
    这一条将强制PHP解释器来读取文件扩展,从而使其到MediaWiki访问。
    某些扩展可能与维护脚本冲突,例如它們能直接访问$_SERVER(不推荐)。
    在这种情况下,他们可以被包裹在条件下进行运行,以让维护脚本仍然可以运行。
if ( !$wgCommandLineMode ) {
   wfLoadExtension ( 'ExtensionName' );
}
对于任何需要自定义命名空间的扩展,维护脚本importDump.php 将失败,这些命名空间在上面的条件中被“包含”,例如Extension:Semantic MediaWiki 扩展:页面表单
确保为扩展设置了所需的权限!
虽然此安装过程对于大多数扩展来说已足够,但某些扩展需要不同的安装过程。 检查您的扩展文档以获取详情。
如果要在LocalSettings.php中更改配置变量,则必须在包含扩展名的之后执行此操作。 否则,分机中定义的默认值将覆盖您的设置。

升级扩展

当你升级你的MediaWiki时,部分扩展插件也需要升级,而其他部分扩展插件则可能支持向上兼容。 升级某个扩展插件到新版本:

  1. 下载新版本扩展插件
  2. 替换extension/ExtensionName目录下所有文件为新版本的文件。 不要删除LocalSettings.php中存在的扩展插件的配置。
  3. 如果扩展需要修改MediaWiki資料庫,你將需要运行Update.php维护脚本。 多数扩展插件会提及是否需要运行这个脚本。 (在执行脚本之前执行数据备份)。 如果你没有使用命令行的权限,你也可以使用网络更新
這手冊包含超過99%的拓展。 如果該拓展有與你不同的標準,請跟隨該標準。

卸载一个扩展

从LocalSettings.php中删除带有扩展名的行以将其卸载:

wfLoadExtension( 'ExtensionName' );
  • 您必须删除与扩展配置有关的所有行。
  • 如果扩展需要任何数据库更改,则必须运行update.php 才能删除它们。

参见