Manual:Hooks/SkinTemplateNavigation::Universal
From Linux Web Expert
SkinTemplateNavigation::Universal | |
---|---|
<translate> Available from <tvar name=1><translate> version <tvar (r79358, codereview)</tvar></translate> Called on both content and special pages after variants have been added | |
<translate> Define function:</translate> | public static function onSkinTemplateNavigation_Universal( SkinTemplate $skinTemplate, array &$links ) { ... }
|
<translate> Attach hook:</translate> | <translate> In <tvar name=1>extension.json</tvar>:</translate>
{
"Hooks": {
"SkinTemplateNavigation::Universal": "MediaWiki\\Extension\\MyExtension\\Hooks::onSkinTemplateNavigationUniversal"
}
}
|
<translate> Called from:</translate> | <translate> File(s):</translate> SkinTemplate.php |
<translate> Interface:</translate> | SkinTemplateNavigation__UniversalHook.php |
<translate> For more information about attaching hooks, see <tvar name=1>Manual:Hooks </tvar>.</translate>
<translate> For examples of extensions using this hook, see <tvar name=cat>Category:SkinTemplateNavigation::Universal extensions</tvar>.</translate>
Details
- $skinTemplate: SkinTemplate object
- &$links: Structured array of navigation links
In 1.36 and 1.37 this hook was modified to allow modifications to the personal urls menu that traditionally would be modified by Manual:Hooks/PersonalUrls. If you are modifying the personal menus and support is needed for < 1.36, you will need to use PersonalUrls hook.
Examples
$wgHooks['SkinTemplateNavigation::Universal'][] = function ( $skinTemplate, &$links ) {
// add a new namespace tab
$links['namespaces']['my_namespace'] = [
'class' => '',
'href' => '#/SkinTemplateNavigationLocalSettings.php',
'text' => 'SkinTemplateNavigationTab',
];
// add a new action
$links['actions']['my_action'] = [
'class' => '',
'href' => '#/SkinTemplateNavigationLocalSettings.php',
'text' => 'SkinTemplateNavigation action',
];
// add a new view
$links['views']['my_view'] = [
'class' => '',
'href' => '#/SkinTemplateNavigationLocalSettings.php',
'text' => 'SkinTemplateNavigation view',
];
};
Disable create account/login links on a fishbowl wiki
$wgHooks['SkinTemplateNavigation::Universal'][] = function ( $skinTemplate, &$links ) {
unset( $links['user-menu']['createaccount'] );
unset( $links['user-menu']['login'] );
unset( $links['user-menu']['login-private'] );
unset( $links['user-menu']['anoncontribs'] );
};