Jump to content

Шаблон:MediaWikiHook

From mediawiki.org
This page is a translated version of the page Template:MediaWikiHook and the translation is 50% complete.
Документация шаблона

Копирование и вставка шаблона

MyHook
Доступен с version ???

Определяет функцию:
public static function onMyHook( $x, $y ) { ... }
Прикрепить хук: В extension.json:
{
	"Hooks": {
		"MyHook": "MediaWiki\\Extension\\MyExtension\\Hooks::onMyHook"
	}
}
Вызывается из: Файла(Файлов):
Interface: MyHookHook.php

Для получения дополнительной информации о присоединении перехватчиков, см Руководство:Прерывания (хуки) .
Примеры расширений с использованием этого хука см. в Category:MyHook extensions/ru.

{{MediaWikiHook
|name = MyHook
|version =
|gerrit =
|gerritremoved =
|removed =
|summary =
|args = $x, $y
|source =
|sourcefunction =
|sourceclass =
|newvarname =
|newvarlink =
|nocatdesc =
}}

Примечания по использованию

[просмотр · обсуждение · править]

Это документация TemplateData для этого шаблона, используемого VisualEditor и другими инструментами.

MediaWikiHook

A card which describes the information of a MediaWiki-registered hook.

Template parameters[Edit template data]

This template prefers block formatting of parameters.

ParameterDescriptionTypeStatus
Template modetemplatemode

Set to nocats if hook documentation should not appear in standard MediaWiki Categories. By default, using this template places the documentation page into categories: MediaWiki hooks Hooks added in MediaWiki... There are times when it is undesirable to automatically categorize the hook documentation. Examples would include when documenting a hook in an extension, or when documenting the template itself.

Stringoptional
Namename

The name of the hook. This is usually the same name as the sub-page.

Stringoptional
Versionversion

The version of MediaWiki this hook was first introduced in. Should always be a full version number (ie. ending with ".0").

Example
1.35.0
Stringsuggested
Version removedremoved

If the hook has been removed, the version of MediaWiki that it was removed in.

Stringoptional
Message for removed hookremoved-msg

If it is not suitable to use either the "newvarname" or the "newvarlink" template parameter, use this parameter. This parameter can be used to explain why it was removed, or for example, explain why there is no suitable replacement.

Stringoptional
Version deprecateddeprecated

If the hook has been deprecated (but not removed), the version of MediaWiki that it was deprecated in.

Stringoptional
Message for deprecated hookdeprecated-msg

If it is not suitable to use either the "newvarname" or the "newvarlink" template parameter, use this parameter. This parameter can be used to explain why it was removed, or for example, explain why there is no suitable replacement.

Stringoptional
New variable namenewvarname

For removed or deprecated hooks, the name of the hook that should be used instead

Stringoptional
New variable linknewvarlink

For removed or deprecated hooks, the link to the hook that should be used instead

Page nameoptional
SVN revision introducedrev

SVN revision in which this hook was first introduced. If this parameter is given, it'll link to the appropriate CodeReview page (e.g. [[phabricator:rSVN1]]).

Example
[[phabricator:rSVN1]]
URLoptional
Gerrit changesetgerrit

Gerrit change number in which this hook was first introduced. If this parameter is given, it'll link to the appropriate Gerrit changeset page (e.g. Gerrit change 1)

Numbersuggested
Gerrit changeset removedgerritremoved

Gerrit change number in which this hook was removed. If this parameter is given, it'll link to the appropriate Gerrit changeset page (e.g. Gerrit change 1)

Numberoptional
Summarysummary

A short description of the hook's purpose. More detailed descriptions are desirable, and should be added to the main page content. If you update the short description, please also update the two tables on [[Special:MyLanguage/Manual:Hooks]].

Stringrequired
Argumentsargs

The arguments, as used at the top of the function.

Stringrequired
extensionextension

The extension which defines this hook.

Stringoptional
File source 1source

Location (file name/path not including <code>includes/</code>) which calls this hook in the code. Further locations can be added via source2...source10.

Filesuggested
File source 2source2

see source

Fileoptional
File source 3source3

see source

Fileoptional
File source 4source4

see source

Fileoptional
File source 5source5

see source

Fileoptional
File source 6source6

see source

Fileoptional
File source 7source7

see source

Fileoptional
File source 8source8

see source

Fileoptional
File source 9source9

see source

Fileoptional
File source 10source10

see source

Fileoptional
Function source 1sourcefunction

Name of the function which calls this hook. Another can be added via sourcefunction2.

Stringsuggested
Function source 2sourcefunction2

see sourcefunction

Stringoptional
Class sourcesourceclass

Name of the class which calls this hook.

Stringsuggested
nocatdescnocatdesc

If a hook is removed completely from MediaWiki version by setting yes, it will not show up the category description.

Stringoptional

Поиск версии хука и Gerrit ID

Чтобы заполнить атрибуты version и gerrit этого шаблона, вам может потребоваться поискать в истории файла docs/hooks.txt.

  1. (From the top-level of a Git clone of MediaWiki source code)
  2. Find the oldest commit to hooks.txt that mentions the hook:
    • git grep <hook-name-here> $(git rev-list --all -- docs/hooks.txt) -- docs/hooks.txt | tail -n 1
  3. Find its Gerrit ID:
    • git log <commit-from-above>
    1. Copy the change-id from the log entry into the Gerrit search box
    2. Select the relevant change, and get its ID
  4. Find out what release the hook was first included in:
    • git tag --contains <commit-from-above>

Categories

The template automatically adds the page to the following categories:

  • Category:Hooks added in MediaWiki <version>
  • Category:MediaWiki hooks included in <file>

and links to the following category:

  • Category:<hook name> extensions

When creating a new hook documentation page, you should create this categories if they don't exist yet. The first two can be left with an empty body; the third one should contain {{HookUsage|<name>}}.