Template:MainMenu

From WoWRosterWiKi
(Difference between revisions)
Jump to: navigation, search
Line 13: Line 13:
 
</div>
 
</div>
 
{{#ifeq:{{SUBPAGENAME}}|{{BASEPAGENAME}}|
 
{{#ifeq:{{SUBPAGENAME}}|{{BASEPAGENAME}}|
 +
<!-- BEGIN ENGLISH MENU -->
 
* [[Roster]]
 
* [[Roster]]
 
{{#ifeq:{{{1}}}|Roster|
 
{{#ifeq:{{{1}}}|Roster|
Line 63: Line 64:
 
* [[Special:Categories|Categories]]
 
* [[Special:Categories|Categories]]
 
* [[MYSQL_Guide|MySQL Guide]]|
 
* [[MYSQL_Guide|MySQL Guide]]|
* [[Roster/{{SUBPAGENAME}}|Roster]]
+
<!-- BEGIN OTHER LOCAES MENU -->
 +
* {{#ifexist: Roster/{{SUBPAGENAME}}|[[Roster/{{SUBPAGENAME}}|Roster]]|[[Roster/{{SUBPAGENAME}}|Roster]]}}
 
{{#ifeq:{{{1}}}|Roster|
 
{{#ifeq:{{{1}}}|Roster|
** [[Roster:Requirements/{{SUBPAGENAME}}|Requirements]]
+
** {{#ifexist: Roster:Requirements/{{SUBPAGENAME}}|[[Roster:Requirements/{{SUBPAGENAME}}|Requirements]]|[[Roster:Requirements/{{SUBPAGENAME}}|Requirements]]}}
** [[Roster:ChangeLog/{{SUBPAGENAME}}|Change Log]]
+
** {{#ifexist: Roster:ChangeLog/{{SUBPAGENAME}}|[[Roster:ChangeLog/{{SUBPAGENAME}}|Change Log]]|[[Roster:ChangeLog/{{SUBPAGENAME}}|Change Log]]}}
** [[Roster:Install/{{SUBPAGENAME}}|Installing Roster]]
+
** {{#ifexist: Roster:Install/{{SUBPAGENAME}}|[[Roster:Install/{{SUBPAGENAME}}|Installing Roster]]|[[Roster:Install/{{SUBPAGENAME}}|Installing Roster]]}}
** [[Roster:FirstUpload/{{SUBPAGENAME}}|First Upload]]
+
** {{#ifexist: Roster:FirstUpload/{{SUBPAGENAME}}|[[Roster:FirstUpload/{{SUBPAGENAME}}|First Upload]]|[[Roster:FirstUpload/{{SUBPAGENAME}}|First Upload]]}}
** [[Roster:CP/{{SUBPAGENAME}}|Control Panel]]
+
** {{#ifexist: Roster:CP/{{SUBPAGENAME}}|[[Roster:CP/{{SUBPAGENAME}}|Control Panel]]|[[Roster:CP/{{SUBPAGENAME}}|Control Panel]]}}
** [[Roster:RosterDiag/{{SUBPAGENAME}}|Roster Diagnosics]]
+
** {{#ifexist: Roster:RosterDiag/{{SUBPAGENAME}}|[[Roster:RosterDiag/{{SUBPAGENAME}}|Roster Diagnosics]]|[[Roster:RosterDiag/{{SUBPAGENAME}}|Roster Diagnosics]]}}
** [[Roster:Menu/{{SUBPAGENAME}}|Roster Main Menu]]
+
** {{#ifexist: Roster:Menu/{{SUBPAGENAME}}|[[Roster:Menu/{{SUBPAGENAME}}|Roster Main Menu]]|[[Roster:Menu/{{SUBPAGENAME}}|Roster Main Menu]]}}
** [[Roster:Updating/{{SUBPAGENAME}}|Updating Character and Guild Data to Roster]]
+
** {{#ifexist: Roster:Updating/{{SUBPAGENAME}}|[[Roster:Updating/{{SUBPAGENAME}}|Updating Character and Guild Data to Roster]]|[[Roster:Updating/{{SUBPAGENAME}}|Updating Character and Guild Data to Roster]]}}
** [[Roster:Addon/{{SUBPAGENAME}}|Roster Addons]] ([[AddonSDK|AddOn SDK]])
+
** {{#ifexist: Roster:Addon/{{SUBPAGENAME}}|[[Roster:Addon/{{SUBPAGENAME}}|Roster Addons]]|[[Roster:Addon/{{SUBPAGENAME}}|Roster Addons]]}} ([[AddonSDK|AddOn SDK]])
** [[Roster:FunctionsOverview/{{SUBPAGENAME}}|Functions Overview]]
+
** {{#ifexist: Roster:FunctionsOverview/{{SUBPAGENAME}}|[[Roster:FunctionsOverview/{{SUBPAGENAME}}|Functions Overview]]|[[Roster:FunctionsOverview/{{SUBPAGENAME}}|Functions Overview]]}}
** [[Roster:Port/{{SUBPAGENAME}}|Roster CMS Integration]]
+
** {{#ifexist: Roster:Port/{{SUBPAGENAME}}|[[Roster:Port/{{SUBPAGENAME}}|Roster CMS Integration]]|[[Roster:Port/{{SUBPAGENAME}}|Roster CMS Integration]]}}
 
{{#ifeq: {{{2}}}|Port|
 
{{#ifeq: {{{2}}}|Port|
*** [[Roster:Port:WoWRosterDF/{{SUBPAGENAME}}|WoWRosterDF]]
+
*** {{#ifexist: Roster:Port:WoWRosterDF/{{SUBPAGENAME}}|[[Roster:Port:WoWRosterDF/{{SUBPAGENAME}}|WoWRosterDF]]|[[Roster:Port:WoWRosterDF/{{SUBPAGENAME}}|WoWRosterDF]]}}
 
|}}
 
|}}
 
|}}
 
|}}
* [[UniUploader]]
+
* {{#ifexist: UniUploader/{{SUBPAGENAME}}|[[UniUploader/{{SUBPAGENAME}}|UniUploader]]|[[UniUploader/{{SUBPAGENAME}}|UniUploader]]}}
 
{{#ifeq:{{{1}}}|UniUploader|
 
{{#ifeq:{{{1}}}|UniUploader|
** [[UniUploader:BasicSetup/{{SUBPAGENAME}}|Basic Setup]]
+
** {{#ifexist: UniUploader:BasicSetup/{{SUBPAGENAME}}|[[UniUploader:BasicSetup/{{SUBPAGENAME}}|Basic Setup]]|[[UniUploader:BasicSetup/{{SUBPAGENAME}}|Basic Setup]]}}
** [[UniUploader:Advanced/{{SUBPAGENAME}}|Advanced Techniques]]
+
** {{#ifexist: UniUploader:Advanced/{{SUBPAGENAME}}|[[UniUploader:Advanced/{{SUBPAGENAME}}|Advanced Techniques]]|[[UniUploader:Advanced/{{SUBPAGENAME}}|Advanced Techniques]]}}
** [[UniUploader:PluginFramework/{{SUBPAGENAME}}|Plugin Framework]]
+
** {{#ifexist: UniUploader:PluginFramework/{{SUBPAGENAME}}|[[UniUploader:PluginFramework/{{SUBPAGENAME}}|Plugin Framework]]|[[UniUploader:PluginFramework/{{SUBPAGENAME}}|Plugin Framework]]}}
*** [[UniUploader:PluginFramework:Tutorial/{{SUBPAGENAME}}|Plugin Tutorial]]
+
*** {{#ifexist: UniUploader:PluginFramework:Tutorial/{{SUBPAGENAME}}|[[UniUploader:PluginFramework:Tutorial/{{SUBPAGENAME}}|Plugin Tutorial]]|[[UniUploader:PluginFramework:Tutorial/{{SUBPAGENAME}}|Plugin Tutorial]]}}
** [[UniUploader:Distribution/{{SUBPAGENAME}}|Distribution]]
+
** {{#ifexist: UniUploader:Distribution/{{SUBPAGENAME}}|[[UniUploader:Distribution/{{SUBPAGENAME}}|Distribution]]|[[UniUploader:Distribution/{{SUBPAGENAME}}|Distribution]]}}
 
|}}
 
|}}
* [[JUniUploader/{{SUBPAGENAME}}|java UniUploader]]
+
* {{#ifexist: JUniUploader/{{SUBPAGENAME}}|[[JUniUploader/{{SUBPAGENAME}}|java UniUploader]]|[[JUniUploader/{{SUBPAGENAME}}|java UniUploader]]}}
 
{{#ifeq:{{{1}}}|jUniUploader|
 
{{#ifeq:{{{1}}}|jUniUploader|
** [[JUniUploader:BasicSetup/{{SUBPAGENAME}}|Basic Setup]]
+
** {{#ifexist: JUniUploader:BasicSetup/{{SUBPAGENAME}}|[[JUniUploader:BasicSetup/{{SUBPAGENAME}}|Basic Setup]]|[[JUniUploader:BasicSetup/{{SUBPAGENAME}}|Basic Setup]]}}
 
|}}
 
|}}
* [[phpUniUploader/{{SUBPAGENAME}}|PHP UniUploader]]
+
* {{#ifexist: phpUniUploader/{{SUBPAGENAME}}|[[phpUniUploader/{{SUBPAGENAME}}|PHP UniUploader]]|[[phpUniUploader/{{SUBPAGENAME}}|PHP UniUploader]]}}
 
{{#ifeq: {{{1}}}|phpUniUploader
 
{{#ifeq: {{{1}}}|phpUniUploader
 
||}}
 
||}}
* [[UniAdmin]]
+
* {{#ifexist: UniAdmin/{{SUBPAGENAME}}|[[UniAdmin/{{SUBPAGENAME}}|UniAdmin]]|[[UniAdmin/{{SUBPAGENAME}}|UniAdmin]]}}
 
{{#ifeq:{{{1}}}|UniAdmin|
 
{{#ifeq:{{{1}}}|UniAdmin|
** [[UniAdmin:Help/{{SUBPAGENAME}}|Help]]
+
** {{#ifexist: UniAdmin:Help/{{SUBPAGENAME}}|[[UniAdmin:Help/{{SUBPAGENAME}}|Help]]|[[UniAdmin:Help/{{SUBPAGENAME}}|Help]]}}
 
|}}
 
|}}
* [[WoWAddon]]s
+
* {{#ifexist: WoWAddon/{{SUBPAGENAME}}|[[WoWAddon/{{SUBPAGENAME}}|WoWAddons]]|[[WoWAddon/{{SUBPAGENAME}}|WoWAddons]]}}
 
{{#ifeq:{{{1}}}|WoWAddon|
 
{{#ifeq:{{{1}}}|WoWAddon|
** [[CharacterProfiler/{{SUBPAGENAME}}|CharacterProfiler]]
+
** {{#ifexist: CharacterProfiler/{{SUBPAGENAME}}|[[CharacterProfiler/{{SUBPAGENAME}}|CharacterProfiler]]|[[CharacterProfiler/{{SUBPAGENAME}}|CharacterProfiler]]}}
** [[GuildProfiler/{{SUBPAGENAME}}|GuildProfiler]]
+
** {{#ifexist: GuildProfiler/{{SUBPAGENAME}}|[[GuildProfiler/{{SUBPAGENAME}}|GuildProfiler]]|[[GuildProfiler/{{SUBPAGENAME}}|GuildProfiler]]}}
** [[PvPLog/{{SUBPAGENAME}}|PvPLog]]
+
** {{#ifexist: PvPLog/{{SUBPAGENAME}}|[[PvPLog/{{SUBPAGENAME}}|PvPLog]]|[[PvPLog/{{SUBPAGENAME}}|PvPLog]]}}
 
{{#ifeq: {{{2}}}|PvPLog|
 
{{#ifeq: {{{2}}}|PvPLog|
*** [[PvPLog:Changes/{{SUBPAGENAME}}|Change Log]]
+
*** {{#ifexist: PvPLog:Changes/{{SUBPAGENAME}}|[[PvPLog:Changes/{{SUBPAGENAME}}|Change Log]]|[[PvPLog:Changes/{{SUBPAGENAME}}|Change Log]]}}
*** [[PvPLog:TODO/{{SUBPAGENAME}}|TODO]]
+
*** {{#ifexist: PvPLog:TODO/{{SUBPAGENAME}}|[[PvPLog:TODO/{{SUBPAGENAME}}|TODO]]|[[PvPLog:TODO/{{SUBPAGENAME}}|TODO]]}}
 
|}}
 
|}}
 
|}}
 
|}}
Line 112: Line 114:
 
* [[CodingStandards|Coding Standards]]
 
* [[CodingStandards|Coding Standards]]
 
* [[Special:Categories|Categories]]
 
* [[Special:Categories|Categories]]
* [[MYSQL_Guide/{{SUBPAGENAME}}|MySQL Guide]]
+
* {{#ifexist: MYSQL_Guide/{{SUBPAGENAME}}|[[MYSQL_Guide/{{SUBPAGENAME}}|MySQL Guide]]|[[MYSQL_Guide/{{SUBPAGENAME}}|MySQL Guide]]}}
 
}}
 
}}
  
 
</div></onlyinclude>
 
</div></onlyinclude>
  
 +
==Syntax==
 
This is the Main Menu for our wiki
 
This is the Main Menu for our wiki
  
Line 148: Line 151:
 
|}}
 
|}}
 
|}}</pre>
 
|}}</pre>
 +
 +
==The Other Locale Duplicate==
 +
To make the menu keep linking to the same language, we copy the menu once and add  "/{{SUBPAGENAME}}" to the link
 +
 +
This will make the menu link to the pages in the menu, keeping the same locale
 +
 +
If the page does not exist for that locale, then it should link to the English version
 +
 +
The syntax for this is quite complex as we detect if the translated page exists
 +
 +
Each link needs to look like this:
 +
<pre>{{#ifexist: PageName/{{SUBPAGENAME}}|[[PageName/{{SUBPAGENAME}}|Page Name Text]]|[[PageName/{{SUBPAGENAME}}|Page Name Text]]}}</pre>

Revision as of 05:01, 10 February 2008

WR.net

Important note: When you edit this page, you agree to release your contribution into the public domain.
If you do not want this or can not do this because of license restrictions, please do not edit.

Template

Warning.png Other Locales: For now, this menu has to be made for English, then duplicated once for other languages, which is a huge bummer
So for now, when you change this menu, make sure you scroll down and change the duplicate


Info.png Note: If you need a sub menu, add it here using the guide below!

Main Page

Syntax

This is the Main Menu for our wiki

It uses a template parameter and conditionals to display sub menus
The Roster menu is called like so

{{MainMenu|Roster}}

MainMenu is the name of this template
Roster is the first parameter

{{#ifeq:{{{1}}}|Roster|
** [[SomePage|SomePage]]
|}}

This is a conditional that determines if we are printing a sub menu

{{#ifeq:{{{1}}}|Roster|

This means if the first template parameter equals Roster, then display the sub menu

|}}

This closes the conditional

If we want a sub menu in a sub menu, then we use more parameters when calling the template

{{MainMenu|Roster|Addons}}

MainMenu is the name of this template
Roster is the first parameter
Addons is the second parameter

{{#ifeq:{{{1}}}|Roster|
** [[SomePage|SomePage]]
{{#ifeq:{{{2}}}|Addons|
*** [[AnotherPage|AnotherPage]]
|}}
|}}

The Other Locale Duplicate

To make the menu keep linking to the same language, we copy the menu once and add "/MainMenu" to the link

This will make the menu link to the pages in the menu, keeping the same locale

If the page does not exist for that locale, then it should link to the English version

The syntax for this is quite complex as we detect if the translated page exists

Each link needs to look like this:

{{#ifexist: PageName/{{SUBPAGENAME}}|[[PageName/{{SUBPAGENAME}}|Page Name Text]]|[[PageName/{{SUBPAGENAME}}|Page Name Text]]}}
Personal tools
Namespaces
Variants
Actions
WoWRoster
Navigation
Toolbox