User:Florianschmidtwelzow/MobileFrontend/Hooks
The MobileFrontend Extension introduces some new hooks, but they are all undocumented. This page tries to document these hooks. Please notice: It's possible, that the Hooks will be replaced or removed in a newer version of MobileFrontend.
MobileFrontendBeforeDOM
[edit]MobileFrontendBeforeDOM | |
---|---|
Available from version master Use page content before it is formatted by MobileFrontend. | |
Define function: | public static function onMobileFrontendBeforeDOM( MobileContext $context, MobileFormatter $formatter ) { ... }
|
Attach hook: | In extension.json:
{
"Hooks": {
"MobileFrontendBeforeDOM": "MediaWiki\\Extension\\MyExtension\\Hooks::onMobileFrontendBeforeDOM"
}
}
|
Called from: | File(s): MobileFrontend extension/MobileFrontend.body.php |
Interface: | MobileFrontendBeforeDOMHook.php |
For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:MobileFrontendBeforeDOM extensions.
Details
[edit]This hook os called before the content parsed by MobileFormatter.
Usage
[edit]Example usage in ZeroBanner[1][2]
SkinMinervaDefaultModules
[edit]SkinMinervaDefaultModules | |
---|---|
Available from version master Add or remove modules loaded by Minerva skin. | |
Define function: | public static function onSkinMinervaDefaultModules( SkinMinerva $skin, array &$modules ) { ... }
|
Attach hook: | In extension.json:
{
"Hooks": {
"SkinMinervaDefaultModules": "MediaWiki\\Extension\\MyExtension\\Hooks::onSkinMinervaDefaultModules"
}
}
|
Called from: | File(s): MobileFrontend extension/SkinMinerva.php, MobileFrontend extension/SkinMinervaBeta.php |
Interface: | SkinMinervaDefaultModulesHook.php |
For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:SkinMinervaDefaultModules extensions.
Details
[edit]The array $modules, submitted with this hook, contains a bunch of JavaScript modules which will be loaded. You can change, remove or add modules with this hook.
Usage
[edit]To add the module test23 to MobileFrontend, you can use the following code:
// Define the module to load and add a dependency to mobile.stable
$wgResourceModules = array_merge( $wgResourceModules, array(
'mobile.test23' => $wgMFMobileResourceBoilerplate + array(
'dependencies' => array(
'mobile.stable',
),
'scripts' => array(
'javascripts/test23.js',
),
'targets' => array( 'mobile' ),
)
) );
// Hook definition
$wgHooks['SkinMinervaDefaultModules'][] = 'onSkinMinervaDefaultModules';
// add the module to MobileFrontend
function onSkinMinervaDefaultModules( $skin, &$modules ) {
$modules['test23'] = array( 'mobile.test23' );
}
EnableMobileModules (deprecated)
[edit]EnableMobileModules | |
---|---|
Available from version 3b5e3c07f39ef070389a00597b996912f47cad7b (deprecated) Allow other extensions to add modules depending on the MobileFrontend mode. | |
Define function: | public static function onEnableMobileModules( OutputPage $out, string $mode ) { ... }
|
Attach hook: | In extension.json:
{
"Hooks": {
"EnableMobileModules": "MediaWiki\\Extension\\MyExtension\\Hooks::onEnableMobileModules"
}
}
|
Called from: | File(s): MobileFrontend extension/SkinMinerva.php |
Interface: | EnableMobileModulesHook.php |
For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:EnableMobileModules extensions.
Details
[edit]Notice: This Hook is depreacted and will be removed in a later version of MobileFrontend. Please use RessourceLoader to load your Module for mobile deveices.
- $out: OutputPage
- $mode: String, such as 'alpha', 'beta', 'stable'
BeforePageDisplayMobile
[edit]BeforePageDisplayMobile | |
---|---|
Available from version master Allow other extensions to use OutputPage before outputPage generates script and style tags. | |
Define function: | public static function onBeforePageDisplayMobile( OutputPage $out ) { ... }
|
Attach hook: | In extension.json:
{
"Hooks": {
"BeforePageDisplayMobile": "MediaWiki\\Extension\\MyExtension\\Hooks::onBeforePageDisplayMobile"
}
}
|
Called from: | File(s): MobileFrontend extension/SkinMinerva.php |
Interface: | BeforePageDisplayMobileHook.php |
For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:BeforePageDisplayMobile extensions.
Details
[edit]- $out: OutputPage
MinervaPreRender
[edit]MinervaPreRender | |
---|---|
Available from version master Called before the entire page is rendered to change the content or something else. | |
Define function: | public static function onMinervaPreRender( MinervaTemplate $template ) { ... }
|
Attach hook: | In extension.json:
{
"Hooks": {
"MinervaPreRender": "MediaWiki\\Extension\\MyExtension\\Hooks::onMinervaPreRender"
}
}
|
Called from: | File(s): MobileFrontend extension/MinervaTemplate.php |
Interface: | MinervaPreRenderHook.php |
For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:MinervaPreRender extensions.
Details
[edit]- $template: MinervaTemplate
BeforeSpecialMobileDiffDisplay
[edit]BeforeSpecialMobileDiffDisplay | |
---|---|
Available from version master Last chance to change content of Difference page before output | |
Define function: | public static function onBeforeSpecialMobileDiffDisplay( OutputPage &$output, MobileContext $ctx, array $revisions ) { ... }
|
Attach hook: | In extension.json:
{
"Hooks": {
"BeforeSpecialMobileDiffDisplay": "MediaWiki\\Extension\\MyExtension\\Hooks::onBeforeSpecialMobileDiffDisplay"
}
}
|
Called from: | File(s): MobileFrontend extension/MinervaTemplate.php |
Interface: | BeforeSpecialMobileDiffDisplayHook.php |
For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:BeforeSpecialMobileDiffDisplay extensions.
Details
[edit]- &$output: OutputPage
- $ctx: MobileContext
- $revisions: array of revisions to compare ($revisions[1] -> Revision; $revisions[0] -> previous Revision)
EnterMobileMode
[edit]follows
GetMobileUrl
[edit]follows
SpecialWatchlistQuery
[edit]follows