Manual:Interface/Sidebar


 * See also: Manual:Remove Tabs

MediaWiki:Sidebar allows a user to modify the navigation bar. The navigation bar which provides links to the most important locations in the wiki and supplies site administrators with a place to add an important collection of links. For instance, most wikis will link to their community discussion page and some useful tool pages.

The Monobook and Vector skins place the navigation bar on the top-left (top-right for right-to-left languages) along with the search bar and toolbox, but the placement may be different in other skins. This sidebar is not shown to users of the Mobile site (i.e. the version of the site produced by /  ) - use the  hook for that).

Customize the sidebar
To customize the MediaWiki:Sidebar on a wiki, you need first to be logged in with a user that has the editinterface permission. For administrators this is enabled by default.

You can access to MediaWiki:Sidebar by either:


 * Going to http://yourdomain/wiki/index.php?title=MediaWiki:Sidebar&action=edit in your browser.
 * Typing MediaWiki:Sidebar in search bar, and validating with Enter.
 * From Special:AllMessages, searching for "side".

Here is example code added in MediaWiki:Sidebar for a sidebar:


 * navigation
 * mainpage|Accueil
 * Special:RecentChanges|Recent changes
 * new heading
 * portal-url|Forums
 * https://www.mediawiki.org|MediaWiki home

This example will result in the following sidebar:

Splitting the navigation bar into new sections
The navigation bar can be split into sections, each with a new heading of its own. This is done by adding one asterisk.

The heading for each section is taken from the first-level list element ("navigation" and "new heading" in the example above). If this text corresponds to the name of an interface message (an existing page of that title in the MediaWiki namespace), then the text of that page is used as a label; otherwise, the header title is used as-is. Please note the magic word does not work since it is useless: MediaWiki automatically looks for a translation to display before to fallback to the default message.

In the example above, and  are section headings.

Creating links in the sidebar
Links are created with 2 asterisks (called Second-level list elements). For example:

** target | link text


 * target


 * The link target can be the name of an interface message (page in the MediaWiki namespace) or wiki page, or an external link. In either case, the link can be internal, interwiki, or external.
 * Do the following to determine the target:


 * Get the target text.
 * If there is an existing or default interface message with that name, use the content of that message instead of the target text.
 * If the output from the previous step is a valid URL (beginning with http:// or other URL protocol), the link will point to that URL.
 * Otherwise, it will treat it as the link target of a wikilink (linking to that page name or interwiki).
 * In case it would end up linking to '-', the whole entry is removed from the sidebar. (This is useful for removing an entry on all languages by changing the message holding the link).


 * Examples:


 * " " uses the text of MediaWiki:Portal-url (which contains " ").
 * " " links to https://www.mediawiki.org since this is a valid URL.
 * " " links to Special:RecentChanges, since there is no interface message of that name and that is not a valid URL.
 * " " links to w:Foo for the same reason.


 * link text


 * The link text can be the name of an interface message (page in the MediaWiki namespace) or plain text.


 * If the link text is the name of an existing or default interface message, the content of that message will be used. MediaWiki will check for localized versions; for example, if the current language is fr (French) and the link text is the interface message "forum", it will check for "forum/fr" before using "forum".


 * Otherwise, the link text is used as the target as-is.


 * Notice that the link text is not optional as in normal wiki links. If the link text is missing, the item is ignored.


 * Examples:
 * uses MediaWiki:Mainpage (which contains "").
 * uses "Recent changes", since there is no interface message of that name.

Section order (elements)
By default, the sidebar consists of elements in this order: navigation, search, toolbox, languages. The order can be changed (in MediaWiki 1.13+) by adding special keywords (SEARCH, TOOLBOX and LANGUAGES) to MediaWiki:Sidebar using the heading syntax. For example, the following code moves the search box to the top of the sidebar:


 * SEARCH
 * navigation
 * mainpage|mainpage
 * Special:Recentchanges|Recent changed
 * new heading
 * portal-url|portal
 * https://www.mediawiki.org|MediaWiki home

Tooltips and Accesskey
A tooltip is a message which appears when a cursor is positioned over an icon, image, hyperlink, or other element in a graphical user interface.

If you add an item to the sidebar, it will have no "tooltip". But you can create a tooltip by doing the following:


 * create a wiki page named "MediaWiki:Tooltip-n-&lt;id of the item>"


 * and put the tooltip in that page.

An access key or accesskey allows a computer user to immediately jump to a specific part of a web page via the keyboard.

Accesskeys can also be created by doing the following:


 * create a wiki page named "MediaWiki:Accesskey-n-&lt;id of the item>"
 * and put the accesskey in that page.

Example:


 * uses MediaWiki:Tooltip-n-mainpage-description and MediaWiki:Accesskey-n-mainpage-description.

Translations
You can translate the strings, which you use, by editing the according pages in the MediaWiki namespace.

Example: The string, which will replace the item named "mainpage", is taken from MediaWiki:Mainpage. To set/change this text for users, who display your wiki in German, you can put the according text on the page MediaWiki:Mainpage/de.

That way you can easily translate these texts through the MediaWiki interface.

Please note that MediaWiki will by default use the content of the Sidebar page in that language, which corresponds to the default language of your wiki. So, if your wiki e.g. uses French as its default language, edit MediaWiki:Mainpage/fr in order to show a modified sidebar to all users, who have not changed their language setting and to all anonymous users.

For more advanced translation, see.

Advanced customization
The sidebar can be fully customized by implementing JavaScript or Cascading Style Sheets, or by editing the PHP files directly. Before using these methods, note that:


 * JavaScript is fragile: it will not work for users with JavaScript disabled, and scripts frequently fail in different browsers or skins.


 * Editing the PHP files can easily cause unexpected errors, and your changes will be lost in the next update unless you manually change the new files.

Remove the Sidebar and main logo at MediaWiki:Sidebar
To completely remove the sidebar and logo:

Blank the MediaWiki:Sidebar page and save.

Then add:

This moves the main text of your wiki to the left.

Completely remove the sidebar, tabs and search bar

 * See also: Manual:Remove Tabs

Deletes the logo, and the entire sidebar:


 * 1) p-logo, .generated-sidebar, #p-lang, #p-tb { display:none; }

Deletes the search bar:


 * 1) p-search { display:none; }

Deletes the talk tab:


 * 1) ca-talk { display:none!important; }

Deletes the Page tab:


 * 1) ca-nstab-main { display:none!important; }

Force UI-messages to follow content
Some pages should sometimes follow the content language, especially for multilingual sites. This can be controlled with the setting. Each message overridden in this way must be explicitly given, for example to let the sidebar link to versions given by the content language for the main page and the portal page add the following to


 * code

Add or remove toolbox sections (JavaScript)
The toolbox appears on the left under MediaWiki:Sidebar. The toolbox is a dynamic element requiring programmatic methods such as skin extensions, PHP (see and creating a new skin) or JavaScript.

The JavaScript solution uses User:{username}/common.js / MediaWiki:Common.js, available for MediaWiki 1.9+.


 * Entire MediaWiki website: copy the script below into MediaWiki:Common.js


 * One specific user: copy the script below into Special:MyPage/common.js (or the JS page for the user's current skin, such as Special:MyPage/monobook.js).

Now simply configure which link should appear in which section. You also can remove some links if you want to.

code



 * Usage
 * has to be customized for adding or removing links in specific sections:



Restricting modifications to specific usergroups
 If you want to restrict the modification of the links to a specific user group (e.g. bureaucrat), change: to

For restricting the modifications to IPs instead of a specific user group, use

Add or remove toolbox sections (PHP)
You can add in your file LocalSettings.php the hook described on this page. With this, you can modify via MediaWiki:Sidebar the links in the toolbox panel (remove some links, change their name) and add custom links (e.g. add the "Recent changes" link there instead of the navigation panel.

Make expanding/collapsing sidebar for all users (Monobook skin only)
If you use the Monobook skin and don't want to miss the expandable menu bar from e.g. Vector skin, paste the following code into MediaWiki:Monobook.js of your wiki.

Sidebar width in Monobook skin (CSS)
You can change the width of your sidebar by adding the following CSS rules to your MediaWiki:Monobook.css note that this is an article, not a file. This changes the width to 15em, the actions position and portlet width should be an em or so less, so I've set them to 14em in this example.

Change sidebar content when logged in (PHP)
Install and configure the extension.

Parser functions in sidebar
Although it is not exactly recommended, the sidebar does support parser functions (such as ParserFunctions), provided the  is outside the parser function, and the parser function does not span multiple lines. For example:
 * Heading

works. However the following would not work since the parser function spans multiple lines:
 * Heading

Changes not showing up
MediaWiki aggressively caches content if possible, which often causes the navigation bar to persist after changes. Purging the cache of affected pages should correct the situation. To perform a mass-purge of all caches at once, [ http://www.freebsd.org/cgi/man.cgi?query=touch touch] the file or [ https://dev.mysql.com/doc/refman/8.0/en/truncate-table.html truncate] the  table in your database (you may have to do both).

You also need to have set to. Also, if your links don't have a in them, they will not show up because of this line of code in Skin.php :

If you are a user or average wiki admin, you will not be able to do the advanced stuff above to get changes to show up. If purging does not work either, you can sometimes still see CSS changes right away in preview (especially when changing your personal CSS). For example; changing the sidebar width, padding, or margins. Changes can take awhile to show up after saving though. If nothing shows up after awhile you may need to contact the overall wiki, or wiki farm, sysop.

Lowercase link labels
If your links are not being capitalized as intended, try adding spaces around the bar character; for example: ** http://www.example.com/download.php?file=44555 | Download

Sections disappear or show unexpected content
If a section does not display or displays unexpected content, check that the header text isn't the name of an interface message by searching Special:AllMessages. If it is, use a different header text, or create a new interface message and use it.

For example, if you want to use " Sidebar " as header text, create the interface message " MediaWiki:Sidebar-header " containing only "Sidebar ". Then, use as header.

Sections are not displayed if there are no links of the form (e.g. when the target was forgotten).

Broken links after updating Special:Version
This will happen e.g., each time there are newer translations for your site language's sidebar items. One could add new redirect pages each time, but a better solution would be to use one's own sidebar item names instead of trying to keep track of the current MediaWiki translations.