Manual:$wgResourceModules

From MediaWiki.org
Jump to: navigation, search
Language: English  • français
Resource loader: $wgResourceModules
Array of all extra defined modules that can later be loaded during the output.
Introduced in version: 1.17.0 (r72349)
Removed in version: still in use
Allowed values: multi-dimensional array
Default value: array()

Other settings: Alphabetical | By Function


Examples[edit | edit source]

Here's a basic example for usage in an extension. You'd put this in the main php file like /extensions/MyExtension/MyExtension.php

$wgResourceModules['ext.MyExtension.foo'] = array(
	'scripts' => 'modules/ext.MyExtension.foo.js',
	'styles' => array('modules/ext.MyExtension.foo.css','modules/ext.MyExtension.bar.css'),
	'messages' => array(
		'myextension-foo-label',
	),
	'dependencies' => array(
		'jquery.cookie',
		'jquery.tabIndex',
	),
 
	'localBasePath' => __DIR__,
	'remoteExtPath' => 'MyExtension',
);

The above example will create a module called 'ext.MyExtension.foo', that includes the script /extensions/MyExtension/modules/myExtension.foo.js, the style /extensions/MyExtension/modules/myExtension.foo.css, and so on. It also ensures two modules 'jquery.cookie' and 'jquery.tabIndex' are available before execution.

Advanced example in Extension:Vector


Details[edit | edit source]

By default modules are registered as an instance of ResourceLoaderFileModule. You find the according code in resources/Resources.php. Here is the documentation:

localBasePath
Base path to prepend to all local paths in $options. Defaults to $IP.
Base path
remoteBasePath
Base path to prepend to all remote paths in $options. Defaults to $wgScriptPath.
Base path
remoteExtPath
Equivalent of remoteBasePath, but relative to $wgExtensionAssetsPath.
Base path
scripts
Scripts to always include.
File path string or array of file path strings.
languageScripts
Scripts to include in specific language contexts.
Array keyed by language code containing file path string or array of file path strings.
skinScripts
Scripts to include in specific skin contexts.
Array keyed by skin name containing file path string or array of file path strings.
debugScripts
Scripts to include in debug contexts.
File path string or array of file path strings.
loaderScripts
Scripts to include in the startup module.
File path string or array of file path strings.
WARNING: This parameter does not do what you think it does. Using loaderScripts requires that you register your module before you can do anything else with it. Specifying a script here will load the script in the header, but it will otherwise leave you with a crippled module. See this bug for more information.
dependencies
Modules which must be loaded before this module.
Module name string or array of module name strings.
styles
Styles to always load.
File path string or array of file path strings.
skinStyles
Styles to include in specific skin contexts.
Array keyed by skin name containing file path string or array of file path strings.
messages
Messages to always load
Array of message key strings.
group
Group which this module should be loaded together with
Group name string.
position
Position on the page to load this module at.
'bottom' (default) or 'top'.
class
Alternate subclass of ResourceLoader (rather than default ResourceLoaderFileModule). If this is used, some of the other properties may not apply, and you can specify your own arguments
Class name of alternate subclass
skipFunction
Function that returns true when the module should be skipped; intended for when the module provides a polyfill that is not required in modern browsers
Filename of a JavaScript file with a top-level return (it should not be wrapped in a function)

Loading module[edit | edit source]

See also ResourceLoader/Migration guide (developers)#Adding a module to the page:

$wgOut->addModules( 'ext.myExtension' );

See also[edit | edit source]