Manual:Hooks/BeforePageDisplay

From MediaWiki.org
Jump to navigation Jump to search
BeforePageDisplay
Available from version 1.7.0 (r14420)
Allows last minute changes to the output page, e.g. adding of CSS or JavaScript by extensions.
Define function:
public static function onBeforePageDisplay( OutputPage &$out, Skin &$skin ) { ... }
Attach hook:

In extension.json:

{
	"Hooks": {
		"BeforePageDisplay": "MyExtensionHooks::onBeforePageDisplay"
	}
}

For MediaWiki ≤1.25:

$wgHooks['BeforePageDisplay'][] = 'MyExtensionHooks::onBeforePageDisplay';
Called from: File(s): OutputPage.php
Function(s): output

For more information about attaching hooks, see Manual:Hooks.
For examples of extensions using this hook, see Category:BeforePageDisplay extensions.

Details[edit]

  • This hook was in SkinTemplate.php until version 1.12.0
  • &$out - The OutputPage object.
  • &$skin - Skin object that will be used to generate the page, added in 1.13.

Usage[edit]

Scripts, styles, and other header elements can be added to the OutputObject at this point.

  • $out->addMeta( $name, $value ) - Add a <meta> tag.
  • $out->addKeyword( $text ) - Add a keyword for the keyword <meta> tag.


MediaWiki version: 1.17

For adding scripts and styles on MediaWiki 1.17 and above, use ResourceLoader modules.

  • $out->addModules( [ /*modules*/ ] ) - For modules with both scripts and styles
  • $out->addModuleStyles( [ /*modules*/ ] ) - For modules with styles only


MediaWiki version: 1.16

For adding scripts and styles on MediaWiki 1.16 and below:

  • $out->addScriptFile( $path ) - Add a JS file. $path is the path to the JS file, such as $wgScriptPath/extensions/MyExtension/MyCoolScript.js
  • $out->addScript( $html ) - Add a JS file. $html is a full script tag: '<script type="text/javascript" src="..."></script>'
  • $out->addStyle( $src ) - Add a CSS file. $src is a URL to a stylesheet.
  • $out->addInlineScript( $script ) - Add inline JS.
  • $out->addLink( $title, $id ) - Add a link for the keyword <link> tag.

See also[edit]