Manual:Расширения

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Manual:Extensions and the translation is 74% 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 Стили оформления (skins)Manual:Skins Волшебные словаManual:Magic words APIAPI:Extensions

Что такое расширения?[edit]

Расширения MediaWiki

Расширения позволяют адаптировать работу и внешний вид MediaWiki под собственные запросы.

Участники вики могут просмотреть существующие расширения или оставить запрос на создание нового расширения. Системные администраторы могут устанавливать (или удалить) расширения на том вики-сайте, которым они управляют. Разработчики могут писать новые расширения или улучшать или поддерживать существующие расширения.

Поиск расширений по ключевому слову (словам):

В зависимости от ваших целей, вы можете использовать расширения для:

Некоторые расширения поддерживаются разработчиками MediaWiki, другие были написаны независимыми разработчиками. В результате, во многих расширениях содержатся ошибки, и не все из них будут гарантированно совместимы друг с другом. Некоторые никем не поддерживаются; не все расширения заработают во всех версиях MediaWiki. Любые расширения, особенно помеченные как небезопасные, вы используете на свой страх и риск. При использовании расширения, требующего внесения изменений в код ядра MediaWiki или записей в базу данных, обязательно создайте резервную копию базы данных и/или ядра MediaWiki, чтобы избежать риска фатального повреждения вашего вики-сайта.

Обзор расширений[edit]

Если вам требуется полный список существующих расширений, просмотрите категорию Категория:Расширения по категорииCategory:Extensions by category. О том, как установить эти расширения или написать своё собственное, читайте ниже.

Проверка установленных расширений[edit]

Расширения для MediaWiki может установить только кто-то с правами администрирования файловой системы на сервере, но кто угодно может проверить, какие расширения установлены на MediaWiki, просмотрев служебную страницу Special:Version. К примеру, в русской Википедии действуют следующие расширения.

Установка расширения[edit]

MediaWiki готова к установке расширений сразу же по завершении её собственной установки. Чтобы установить расширение, выполните следующие шаги:

  1. До начала.
    Многие расширения содержат инструкции по установке с использованием Unix-команд. Вам потребуется доступ в режиме командной строки (SSH) для использования команд и инструкций, содержащихся в руководствах по установке этих дополнений.
  2. Загрузите выбранное расширение.
    Extension Distributor помогает выбрать и скачать большинство популярных расширений.
    Расширения обычно распространяются как модульные пакеты. Обычно они располагаются в собственном подкаталоге каталога $IPManual:$IP/extensions/. Список расширений, находящихся в Git-репозитории Викимедиа, расположен по адресу git:mediawiki/extensions. Некоторые расширения не используют систему контроля версий и не рекомендуются. Однако они доступны желающим в виде исходного кода в этой вики.
    Некоторые расширения также могут быть доступны среди бандлов, в composercomposer или в хранилище пакетов.
  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>' );
}
Скрипт обслуживания importDump.phpManual:ImportDump.php «упадёт» для любого расширения которое требует настройки пространства имён, которые «включены» в условия выше, такие как Extension:Semantic MediaWikiExtension:Semantic MediaWiki, Extension:Semantic FormsExtension:Semantic Forms.
Убедитесь, что для расширения задаются необходимые разрешения!
Описанная выше процедура установки достаточна для большинства расширений, однако некоторые требуют другой процедуры установки. Посмотрите документацию расширения для дополнительных подробностей.
Если вы хотите изменить переменные конфигурации в LocalSettings.php, вам нужно это сделать как правило после того места, где включается расширение. В противном случае значения определенные по умолчанию в расширение затрут ваши настройки.
Осторожно! Предупреждение: While extension declaration can be placed in other places within the LocalSettings.php file, never place extensions before the require_once "includes/DefaultSettings.php"; line for MediaWiki versions below 1.17 . 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]

Some extensions require to be updated whenever you update MediaWiki, while others work with multiple versions. Чтобы обновить новую версию расширения нужно:

  1. Загрузить новую версию расширения
  2. Replace all the extension files in the extension/ExtensionName directory with the new files. Do not remove the extension configuration present in LocalSettings.php
  3. Depending on the extension, you may have to run the Update.php maintenance script. Most extensions will mention if this script needs to be run or not. (Running the update.php script when its unnecessary will not hurt anything, so if you're unsure don't be afraid to run it). If you don't have command line access, you can also use the web updater.
  4. Это всё, что тебе требуется сделать In most cases any extension configuration you have in LocalSettings.php will also work with the newer version of the extension.
Эти инструкции охватывают 99% расширений. If the specific extension you are upgrading has instructions that differ from these, you should probably follow the specific extension's instructions

Деинсталляция расширения[edit]

Extensions are added by adding a line to LocalSettings.php, which basically looks like this:

// 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. Подробную информацию см. в разделе об установке расширения.

Удалите эту строку и расширение будет удалено. If you want to, you can (and if you do not want to use this extension in the future you should) remove the files of this extension inside the folder "extensions/".

  1. 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.
  2. Maybe your extension also has added columns to your database. The updater maintenance/update.php removes them, when you run it, after you have uninstalled the extension.

Разработка расширений[edit]

This complex topic is handled on the developing extensions manual page.

См. также[edit]

РасширенияManual:Extensions: Категория[[::Category:Extensions]]все[[::Category:All extensions]]ЗапросыРуководство:Теги расширенийManual:Tag extensionsExtensions FAQExtensions FAQExtension hook registryExtension default namespaces