The CustomSidebar extension provides an easy way to customize the sidebar on a per-page basis. You may define the sidebar in-page or reference another page which contains the text. The sidebar text takes the same format as Mediawiki:sidebar, and also supports templates and Magic words.
Contents |
<sidebar>sidebartext</sidebar>
sidebartext may contain the following elements. If the text does not return any valid elements, the default sidebar MediaWiki:Sidebar is used.
You may specify the main layout of the sidebar using standard sidebar syntax.
Example:
<sidebar> * Menu ** link1|Text 1 ** link2|Text 2 </sidebar>
If the sidebartext only contains a page name and no asterisks, that page will be used as the sidebar text. Any page in any namespace may be used.
Example:
<sidebar>wiki page name</sidebar>
Version 0.3.0 adds full template support.
Version 0.2.0 adds Magic words and simple template.
You may use any of the default Magic words within the sidebar text, or custom magic words listed below:
Custom Magic Words
Versions 0.3.0 and higher support full template syntax. The code is processed by Mediawiki itself.
In v0.2.0, a custom processing engine was used. Templates with zero or one unnamed parameter will be transcluded as expected. Nested calls are not allowed, but included template pages will be processed recursively.
Example:
# OK
{{TemplateName}}
{{TemplateName|parameter}}
# Not ok in v0.2.0
{{TemplateName|param = parameter}}
{{TemplateName|1|2|3}}
{{{{NAMESPACE}}:TemplateName}}
The text $wgDefaultSideBarText is similar to setting MediaWiki:Sidebar, only it can be set within LocalSettings.php and can use variables and templates. Example: This sidebar text will allow you to specify a sidebar for each "sub directory"
$wgDefaultSideBarText = '{{NAMESPACE}}:{{BASEPAGENAME}}/Sidebar'
Using the above example, the contents of foo/Sidebar would be applied to the following pages as sidebar text
You can also use the default sidebar, though it is recommended to use a different page as the default sidebar, so that MediaWiki:Sidebar can be used in case the processed sidebar text does not return a valid sidebar.
$wgDefaultSideBarText = 'MediaWiki:Sidebar'
Defines an additional sidebar based on the namespace. Syntax is the same as $wgDefaultSideBarText
$wgDefaultSideBarGroupText[NS_TALK] = "Template:CustomSidebarTalk";
Defines an additional sidebar based on groups. Syntax is the same as $wgDefaultSideBarText
$wgDefaultSideBarGroupText['sysop'] = "Template:CustomSidebarSysop";
Anonymous users are welcome to try out the sidebar extension in the sandbox area.
To install this extension:
require_once("$IP/extensions/CustomSidebar/CustomSidebar.php");