Open main menu

Kézikönyv:$wgActions

This page is a translated version of the page Manual:$wgActions and the translation is 100% complete.

Other languages:
English • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎русский • ‎中文 • ‎日本語
Access: $wgActions
Az „action” paraméter lehetséges értékei normál lapoknál.
Bevezetve:1.18.0 (r86041)
Eltávolítva:használatban
Megengedett értékek:(sztringeket booleanhez vagy sztringekhez rendelő tömb)
Alapértelmezett érték:lásd alább

Contents

Részletek

A változó az „action” paraméter lehetséges értékeit tartalmazza normál lapok esetén.

Az egyedi akciókat létrehozó metódus az elavult UnknownAction hookot váltja fel. A korábbi hookok kódjának az osztályalapú rendszerbe való migrálásával kapcsolatos részletekért lásd a hookok leírólapjának migrációs szakaszát .

A szintaxis a következő:

  • 'foo' => 'ClassName' - A specifikált osztályt az Action alosztályaként tölti be.
  • 'foo' => true - A FooAction osztályt az Action alosztályaként tölti be.
  • 'foo' => false - Az akció letiltott, hibaüzenet jelenik meg.

Alapértelmezett érték

MediaWiki-verzió: 1.19
$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-verzió: 1.18
$wgActions = array(
	'credits' => true,
	'deletetrackback' => true,
	'info' => true,
	'markpatrolled' => true,
	'purge' => true,
	'revert' => true,
	'revisiondelete' => true,
	'rollback' => true,
	'unwatch' => true,
	'watch' => true,
);

Example

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.

// Register the action in the array of available actions.
// If you only need to support more recent versions of MediaWiki, register the action using
// extension.json, instead.
$wgActions['example_action'] = 'ExampleAction';

class ExampleAction extends Action {

	// This action is called 'example_action'.  This class will only be invoked when the specified
	// action is requested.
	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 );
	}
}

Akciók letiltása

Az akciók letiltása a LocalSettings.php-ban lehetséges; az alábbi példa a 'raw' akciót tiltja le:

$wgActions['raw'] = false;
A szoftver részét képező akciók letiltása zavarokhoz vezethet.