扩展手册

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Manual:Extensions and the translation is 80% complete.

Other languages:
العربية • ‎български • ‎dansk • ‎Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎français • ‎magyar • ‎Bahasa Indonesia • ‎日本語 • ‎한국어 • ‎polski • ‎پښتو • ‎português do Brasil • ‎русский • ‎سنڌي • ‎ไทย • ‎Türkçe • ‎中文
Gnome-preferences-other.svg 扩展:Manual:Extensions 开发Manual:Developing extensions 标签扩展Manual:Tag extensions 手册:解析器函数Manual:Parser functions 钩子Manual:Hooks 特殊页面Manual:Special pages 手册:皮肤Manual:Skins 手册:魔术字Manual:Magic words APIAPI:Extensions

什么是扩展?[edit]

MediaWiki扩展工具

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

Wiki用户可以浏览现有的扩展请求一个新的扩展。 系统管理员可在他们管理的MediaWiki安装副本上安装(或移除)扩展。 开发人员可以编写新扩展或者改进或维护现有扩展

根据关键字搜索扩展:

安装插件可以实现各人不同的目的:

虽然许多扩展由MediaWiki的开发者维护,但其他由第三方开发者编写。 这样会导致一个结果,会出现bug,他们不能保证能够和其他扩展相互兼容。 一些扩展不能被维护,并不是所有的扩展都能工作在所有的MediaWiki版本。 使用任何扩展,特别是那些标记着不稳定的扩展,当你使用时会有所风险。 当使用一个扩展需要修补MediaWiki核心代码或者数据库将会为空时,请确认备份好你的数据库和MediaWiki核心代码,避免导致你的wiki从此中断。

浏览扩展插件[edit]

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

检查已安装的扩展[edit]

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

安装扩展插件[edit]

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

  1. 在您开始之前
    少数扩展插件需要安装补丁。其中大多数提供了专为unix安装命令而设计的使用说明。 这需要命令行权限(SSH)来运行这些在扩展插件帮助页面上给出的命令。
  2. 下载您的扩展。
    Extension Distributor可帮你选择和下载最受欢迎的扩展插件。
    扩展插件通常以模块的程序包形式发布。 They generally go in their own subdirectory of $IPManual:$IP/extensions/. 在维基媒体Git存储库存储的扩展列表位于git:mediawiki/extensions。 一些不使用版本控制的扩展都不推荐使用。
    Some extensions are also available in bundles, composercomposer or package repositories.
  3. 安装您的扩展。.
    通常, 在LocalSettings.phpManual:LocalSettings.php文件的结尾(但应在PHP代码结束符"?>"之前)添加下列代码:
    // mw.v 1.24.x or less
    require_once "$IP/extensions/extension_name/extension_name.php";
    // mw.v 1.25.x or above
    wfLoadExtension( '<extension-name>' );
    
    这一条将强制PHP解释器来读取文件扩展,从而使其到MediaWiki访问。
    某些扩展可能与维护脚本冲突,例如,例如能直接访问$_SERVER(不推荐)。
    在这种情况下,他们可以被包裹在条件下进行运行,以让维护脚本仍然可以运行。
//for mw.v 1.24.x or less
if (!$wgCommandLineMode) {
   require_once "$IP/extensions/extension_name/extension_name.php";
}
//for mw.v 1.25.x or above
if (!$wgCommandLineMode) {
   wfLoadExtension ( '<extension-name>' );
}
The maintenance script importDump.phpManual:ImportDump.php will fail for any extension which requires customized namespaces which is included inside the conditional above such as Extension:Semantic MediaWikiExtension:Semantic MediaWiki, Extension:Semantic FormsExtension:Semantic Forms.
Ensure that required permissions are set for extensions!
While this installation procedure is sufficient for most extensions, some require a different installation procedure. Check your extension's documentation for details.
If you want to alter configuration variables in LocalSettings.php, you have to do this typically after including the extension. Otherwise defaults defined in the extension will overwrite your settings.
小心! 小心: 虽然扩展声明“可以”被放置在LocalSettings.php文件中任何地方,但对于1.17版本以下的MediaWiki,请不要放在代码require_once "includes/DefaultSettings.php";行之前。 Doing so will blank the extension setup function arrays, causing no extensions to be installed, and probably will make your wiki inaccessible until you fix it!

升级扩展[edit]

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

  1. 下载新版本扩展插件
  2. 替换extension/ExtensionName目录下所有文件为新版本的文件。 不要删除LocalSettings.php中存在的扩展插件的配置。
  3. 根据不同的扩展插件,你可能需要运行Update.php维护脚本。 多数扩展插件会提及是否需要运行这个脚本 (在不必要的情况下运行update.php不会对整体造成影响,所以你不用因为害怕而不去运行它)。 如果你没有使用命令行的权限,你也可以使用网络更新
  4. 你需要做的就是这些 在大多数情况下,LocalSettings.php中扩展插件的配置在新版本下也能运作。
這手冊包含超過99%的拓展 如果該拓展有與你不同的標準,請跟隨該標準。

卸载一个扩展[edit]

扩展的启用通常是通过在LocalSettings.php中添加一行语句来实现的,基本上是像这样的:

// mw.v 1.24.x or less
require_once 'extensions/extension_name/extension_name.php';
// mw.v 1.25.x or above
wfLoadExtension( '<extension-name>' );
Depending on the extension you want to uninstall additionally other stuff might be done on installation, which you want to undo now. For details see the section on installing an extension.
  1. 移除此行,这样扩展就卸载了。 如果您有需要,(并且您不希望今后再使用此扩展的话)您可以前往文件夹“extensions/”,移除此扩展文件。
  2. Maybe you also have some other lines in LocalSettings.php, which have to do with the extension you want to remove. Most likely this will be lines, which give certain users the right to access pages, which are provided by the extension. These lines contain the variable "$wgGroupPermissions" and make some settings there. As far as they have to do with rights, which come from the removed extension, you can remove these lines as well.
  3. 也许您的扩展也在您的数据库里添加了专栏。 The updater maintenance/update.php removes them, when you run it, after you have uninstalled the extension.

开发扩展[edit]

该复杂话题在开发扩展手册页面作统一处理。

参见[edit]

扩展Manual:Extensions: 分类[[::Category:Extensions]]所有[[::Category:All extensions]]申请手册:标签扩展Manual:Tag extensions扩展FAQExtensions FAQ扩展钩子注册扩展默认名字空间