Руководство:$wgActions
Actions: $wgActions | |
---|---|
Массив разрешённых значений параметра action для обычных страниц. |
|
Введено в версии: | 1.18.0 (r86041) |
Удалено в версии: | всё ещё используется |
Допустимые значения: | (массив, ассоциирующий строковые переменные с булевыми или строковыми переменными) |
Значение по умолчанию: | смотрите ниже |
Другие настройки: По алфавиту | По функциональности |
Подробности
Массив разрешённых значений параметра action для обычных страниц.
Синтаксис:
'foo' => 'ClassName'
- Загрузка указанного класса, являющегося подклассомAction
'foo' => true
- Загрузка класса FooAction, являющегося подклассом Action'foo' => false
- Это действие отключено; вывод сообщения об ошибке
Значение по умолчанию
Версия MediaWiki: | ≥ 1.37 |
/**
* Array of allowed values for the "title=foo&action=<action>" parameter.
* See ActionFactory for the syntax.
* Core defaults are in ActionFactory::CORE_ACTIONS, anything here overrides that.
*/
$wgActions = [];
Версии MediaWiki: | 1.32 – 1.36 |
$wgActions = [
'credits' => true,
'delete' => true,
'edit' => true,
'editchangetags' => SpecialPageAction::class,
'history' => true,
'info' => true,
'markpatrolled' => true,
'mcrundo' => McrUndoAction::class,
'mcrrestore' => McrRestoreAction::class,
'protect' => true,
'purge' => true,
'raw' => true,
'render' => true,
'revert' => true,
'revisiondelete' => SpecialPageAction::class,
'rollback' => true,
'submit' => true,
'unprotect' => true,
'unwatch' => true,
'view' => true,
'watch' => true,
];
Версия MediaWiki: | 1.31 |
$wgActions = [
'credits' => true,
'delete' => true,
'edit' => true,
'editchangetags' => SpecialPageAction::class,
'history' => true,
'info' => true,
'markpatrolled' => true,
'protect' => true,
'purge' => true,
'raw' => true,
'render' => true,
'revert' => true,
'revisiondelete' => SpecialPageAction::class,
'rollback' => true,
'submit' => true,
'unprotect' => true,
'unwatch' => true,
'view' => true,
'watch' => true,
];
Версии MediaWiki: | 1.25 – 1.30 |
$wgActions = [
'credits' => true,
'delete' => true,
'edit' => true,
'editchangetags' => 'SpecialPageAction',
'history' => true,
'info' => true,
'markpatrolled' => true,
'protect' => true,
'purge' => true,
'raw' => true,
'render' => true,
'revert' => true,
'revisiondelete' => 'SpecialPageAction',
'rollback' => true,
'submit' => true,
'unprotect' => true,
'unwatch' => true,
'view' => true,
'watch' => true,
];
Версии MediaWiki: | 1.19 – 1.24 |
$wgActions = array(
'credits' => true,
'delete' => true,
'edit' => true,
'history' => true,
'info' => true,
'markpatrolled' => true,
'protect' => true,
'purge' => true,
'raw' => true,
'render' => true,
'revert' => true,
'revisiondelete' => true,
'rollback' => true,
'submit' => true,
'unprotect' => true,
'unwatch' => true,
'view' => true,
'watch' => true,
);
Версия MediaWiki: | 1.18 |
$wgActions = array(
'credits' => true,
'deletetrackback' => true,
'info' => true,
'markpatrolled' => true,
'purge' => true,
'revert' => true,
'revisiondelete' => true,
'rollback' => true,
'unwatch' => true,
'watch' => true,
);
Пример
There is a lot you can do with a custom action, and the best method of discovery is to browse the Action
, FormAction
and FormlessAction
classes in the core MediaWiki code (as these are the classes you will be extending) and to look at examples of pages that provide similar function to what you require, either in the core or in stable and well-supported extensions.
The following example covers the most common use-case, namely generating a custom page for the action, possibly with some extra URL arguments.
class ExampleAction extends Action {
// This action is called 'example_action'. <span lang="en" dir="ltr" class="mw-content-ltr">This class will only be invoked when the specified action is requested.</span>
public function getName() {
// This should be the same name as used when registering the action in $wgActions.
return 'example_action';
}
// This is the function that is called whenever a page is being requested using this action.
// You should not use globals $wgOut, $wgRequest, etc.
// Instead, use the methods provided by the Action class (e.g. $this->getOutput()), instead.
public function show() {
// Create local instances of the context variables we need, to simplify later code.
$out = $this->getOutput();
$request = $this->getRequest();
// The view is the same for the main page and the talk page, so if we're on the talk page then we need to change $Title to point to the subject page instead.
$title = $this->page->getTitle();
if ( $title->isTalkPage() ) {
$title = $title->getSubjectPage();
}
// Set page title.
$out->setPageTitle( 'Example Page Title' );
// Get some parameters from the URL.
$param = $request->getIntOrNull( 'example_param' );
// Do some internal stuff to generate the content (placed in $output).
// Output the results.
$out->addHTML( $output );
// or
$out->addWikiText( $output );
}
}
Register the new action in extension.json (see extension.json schema):
"Actions": {
"example_action": "ExampleAction"
},
Отключить действие
Чтобы отключить действие, просто добавьте следующее, например, для действия "raw", в свой файл "LocalSettings.php":
$wgActions['raw'] = false;