Manual:$wgActions
Actions: $wgActions | |
---|---|
Arranjo de valores permitidos para o parâmetro action em páginas normais. |
|
Introduzido na versão: | 1.18.0 (r86041) |
Removido na versão: | ainda em uso |
Valores permitidos: | (arranjo de cadeias de caracteres mapeadas a booleanos ou a outras cadeias de caracteres) |
Valor padrão: | ver abaixo |
Outras definições: Alfabético | Por função |
Detalhes
Arranjo de valores permitidos para o parâmetro action
em páginas normais.
A sintaxe é:
'foo' => 'ClassName'
- Carrega a classe especificada como uma subclasse daAction
.'foo' => true
- Carrega a classeFooAction
como uma subclasse daAction
.'foo' => false
- Desativa a ação; exibe uma mensagem de erro.
Valor padrão
Versão MediaWiki: | ≥ 1.37 |
/**
* Arranjo de valores permitidos para o parâmetro "title=foo&action=<action>".
* Veja ActionFactory para aprender a sintaxe.
* Valores padrão do núcleo estão em ActionFactory::CORE_ACTIONS. Tudo que for definido neste arquivo substitui aquele.
*/
$wgActions = [];
Versões do 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,
];
Versão 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,
];
Versões do 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,
];
Versões do 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,
);
Versão 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,
);
Exemplo
Há inúmeras coisas que podem ser feitas através de uma ação personalizada, e o melhor método de descobrir isso é navegando pelas classes Action
, FormAction
e FormlessAction
no código do núcleo do MediaWiki (já que essas serão as classes que você estenderá) e consultando exemplos de páginas que fornecem funções semelhantes à que você tem em mente, seja no núcleo como em extensões estáveis.
O seguinte exemplo cobre o caso de uso mais comum, ou seja: gerar uma página personalizada para a ação, com a possibilidade de argumentos extras no URL.
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 );
}
}
Registre a nova ação no extension.json (veja o esquema do extension.json ):
"Actions": {
"example_action": "ExampleAction"
},
Desabilitar uma ação
Para desabilitar uma ação, basta adicionar o seguinte (exemplo pensado para uma ação raw
) ao seu arquivo “LocalSettings.php”:
$wgActions['raw'] = false;