Open main menu
This page is a translated version of the page Manual:Extensions and the translation is 99% 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 • ‎Ελληνικά • ‎български • ‎мокшень • ‎русский • ‎العربية • ‎سنڌي • ‎پښتو • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어
开发 标签扩展 手册:解析器函数 钩子 特殊页面 手册:皮肤 手册:魔術字 API Content models

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

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

扩展的类型

  解析器标签

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


详细了解解析器标记

  解析器函数

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


详细了解解析器函数

  钩子

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


详细了解鉤子

  特殊页面

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


详细了解特殊页面

  皮肤

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


详细了解皮肤

  魔术字

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


详细了解魔术字

  API

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


详细了解MediaWiki API

  页面內容模型

The ContentHandler introduced in MediaWiki 1.21 makes it possible for wiki pages to be composed of data other than wikitext, such as JSON or 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 Extension:Semantic Forms
确保为扩展设置了所需的权限!
虽然此安装过程对于大多数扩展来说已足够,但某些扩展需要不同的安装过程 检查您的扩展文档以获取详情。
如果要在LocalSettings.php中更改配置变量,则必须在包含扩展名的之后执行此操作。 否则,分机中定义的默认值将覆盖您的设置。

升级扩展

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

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

卸载一个扩展

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

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

参见