Difference between revisions of "Template:Honor infobox"

From Pathfinder Wiki
Line 30: Line 30:
 
|insignia=Camping_Skills_IV.png
 
|insignia=Camping_Skills_IV.png
 
|insignia_source=foo
 
|insignia_source=foo
 +
}}
 +
{{{{FULLPAGENAME}}
 +
|honorname=Camping Skills IV
 
}}
 
}}
 
{{{{FULLPAGENAME}}
 
{{{{FULLPAGENAME}}
Line 42: Line 45:
 
{{{{FULLPAGENAME}}
 
{{{{FULLPAGENAME}}
 
|honorname=Rock Climbing
 
|honorname=Rock Climbing
−
|skill=2
 
−
|year=1970
 
−
|category=Recreation
 
−
|authority=North American Division
 
−
|insignia=
 
 
}}
 
}}
 
[[Category:UsesLoops]]</noinclude>
 
[[Category:UsesLoops]]</noinclude>
−
<includeonly><!-- Get the List of Master Honors -->{{#vardefine:master|{{GetMasterCategoryList|category={{{category}}}|master1={{{master1|}}}|master1_group={{{master1_group}}}|master2={{{master2|}}}|master_group2={{{master_group2}}} }} }}<!-- create the string-variables holding the content for the see more section -->{{#vardefine: i | 0 }}{{#vardefine: locSeeAlsoLess |}}{{#vardefine: locSeeAlsoMore |}}<!-- get all interesting links for see also into one variable seperated by | -->{{#vardefine:locSeeAlsoAll|{{#var:master}}{{See Also|honorname={{#titleparts:{{PAGENAME}}|1|2}}}}}}{{#if:{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} | {{#vardefine:locSeeAlsoLess|{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} }}{{#vardefine: i | {{#expr: {{#var: i }} + 1 }} }}{{#while: | {{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} | {{#ifexpr: {{#var:i}}<3|<!--yes-->{{#vardefine:locSeeAlsoLess|{{#var:locSeeAlsoLess}}<br>{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} }}|<!--no-->{{#vardefine:locSeeAlsoMore|{{#var:locSeeAlsoMore}}{{#ifexpr:{{#var:i}}>3|<br>}}{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} }} }}{{#vardefine: i | {{#expr: {{#var: i }} + 1 }} }} }} }}<!-- get the patch -->{{#vardefine:patch|{{#if:{{{insignia|}}}|{{#switch:{{{insignia}}}
+
<includeonly><!-- Get the List of Master Honors -->{{#vardefine:localCategory|{{{category|{{GetHonorMetaData|honor={{{honorname|}}}|language=/en}}}}}}}{{#vardefine:master|{{GetMasterCategoryList|category={{#var:localCategory}}|master1={{{master1|{{GetHonorMetaData|honor={{{honorname|}}}|language=/en|parameter=master1}}}}}|master2={{{master2|{{GetHonorMetaData|honor={{{honorname|}}}|language=/en|parameter=master2}}}}}}}}}<!-- create the string-variables holding the content for the see more section -->{{#vardefine:i|0}}{{#vardefine:locSeeAlsoLess|}}{{#vardefine:locSeeAlsoMore|}}<!-- get all interesting links for see also into one variable seperated by | -->{{#vardefine:locSeeAlsoAll|{{#var:master}}{{GetHonorSeeAlso|honorname={{{honorname|}}}}}}}{{#if:{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} | {{#vardefine:locSeeAlsoLess|{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} }}{{#vardefine: i | {{#expr: {{#var: i }} + 1 }} }}{{#while: | {{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} | {{#ifexpr: {{#var:i}}<3|<!--yes-->{{#vardefine:locSeeAlsoLess|{{#var:locSeeAlsoLess}}<br>{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} }}|<!--no-->{{#vardefine:locSeeAlsoMore|{{#var:locSeeAlsoMore}}{{#ifexpr:{{#var:i}}>3|<br>}}{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} }} }}{{#vardefine: i | {{#expr: {{#var: i }} + 1 }} }} }} }}<!-- get the patch -->{{#vardefine:localInsignia|{{{insignia|{{GetHonorMetaData|honor={{{honorname|}}}|language=/en|parameter=insignia}}}}}}}{{#vardefine:patch|{{#if:{{#var:localInsignia}}|{{#switch:{{#var:localInsignia}}
 
|No Patch.png
 
|No Patch.png
 
|No_Patch.png={{#lst:Localization:All{{GetLangSuffix}}|No Patch}}
 
|No_Patch.png={{#lst:Localization:All{{GetLangSuffix}}|No Patch}}
−
|{{{insignia}}}
+
|{{#var:localInsignia}}
 
}}|{{#lst:Localization:All{{GetLangSuffix}}|No Patch}}}}}}
 
}}|{{#lst:Localization:All{{GetLangSuffix}}|No Patch}}}}}}
 
<templatestyles src="Honor infobox/style.css" /><div class="mw-parser-output">
 
<templatestyles src="Honor infobox/style.css" /><div class="mw-parser-output">
 
{| class="honor-infobox"
 
{| class="honor-infobox"
 
|-
 
|-
−
|colspan="2"  id="infobox-title"|{{{honorname}}}
+
|colspan="2"  id="infobox-title"|{{{honorname|{{#titleparts:{{GetHonorLandingPage}}||-1}}}}}
 
|-
 
|-
−
| colspan="2" |[[AY Honors/{{{category}}}{{GetLangSuffix}}|{{Localize|{{{category}}}}}]]
+
| colspan="2" |[[AY Honors/{{#var:localCategory}}{{GetLangSuffix}}|{{Localize|{{#var:localCategory}}}}]]
 
|-
 
|-
 
|colspan="2" style="padding: .5rem 2rem;"|
 
|colspan="2" style="padding: .5rem 2rem;"|
−
{{#if:{{{insignia_source|}}}
+
{{#if:{{{insignia_source|{{GetHonorMetaData|honor={{{honorname|}}}|language=/en|parameter=insignia_source}}}}}
 
   |{{Superimpose
 
   |{{Superimpose
 
       | base = {{#var:patch}}
 
       | base = {{#var:patch}}
Line 79: Line 77:
 
}}
 
}}
 
|-
 
|-
−
| colspan="2" class="infobox-value text-light bg-secondary" |<span class="infobox-value-emphasize">{{Localize|Skill Level}}</span><br>{{Honor infobox/echoSkillLevel | skill={{{skill}}}}}
+
| colspan="2" class="infobox-value text-light bg-secondary" |<span class="infobox-value-emphasize">{{Localize|Skill Level}}</span><br>{{Honor infobox/echoSkillLevel | skill={{{skill|{{GetHonorMetaData|honor={{{honorname|}}}|parameter=skill}}}}}}}
 
|-
 
|-
−
| class="infobox-value text-light bg-secondary" | <span class="infobox-value-emphasize">{{Localize|Approval authority}}</span><br>{{Localize|{{{authority}}}}}
+
| class="infobox-value text-light bg-secondary" | <span class="infobox-value-emphasize">{{Localize|Approval authority}}</span><br>{{#if:{{{authority|}}}|{{Localize|{{{authority}}}}}|{{GetHonorMetaData|honor={{{honorname|}}}|parameter=authority}}}}
 
| class="infobox-value text-light bg-secondary" | <span class="infobox-value-emphasize">{{Localize|Year of Introduction}}</span><br>
 
| class="infobox-value text-light bg-secondary" | <span class="infobox-value-emphasize">{{Localize|Year of Introduction}}</span><br>
−
{{#iferror:{{#expr:1+{{{year|X}}} }}|{{Localize|Unknown}}|{{{year}}} }}
+
{{#vardefine:localYear|{{{year|{{GetHonorMetaData|honor={{{honorname|}}}|language=/en|parameter=year}}}}}}}{{#iferror:{{#expr:1+{{#var:localYear|X}} }}|{{Localize|Unknown}}|{{#var:localYear}} }}
 
{{#if:{{#var:locSeeAlsoLess}}|{{!}}-
 
{{#if:{{#var:locSeeAlsoLess}}|{{!}}-
 
{{!}}colspan="2" id="infobox-part-of" class="infobox-value text-light bg-secondary"  {{!}}<span class="infobox-value-emphasize">{{Localize|See also}}</span><br>
 
{{!}}colspan="2" id="infobox-part-of" class="infobox-value text-light bg-secondary"  {{!}}<span class="infobox-value-emphasize">{{Localize|See also}}</span><br>

Revision as of 02:06, 24 March 2021

This template creates an infobox for an honor.

Mechanics

We had to be careful when invoking See_Also - it uses the honorname parameter to construct the name of a category under which related honors can be found. But the honorname parameter is translated and the categories are not. So even though See_Also wants an honorname, it always wants it in English, and then it tacks a language suffix to the end of the category. To fix this, we needed to extract See_Also's honorname parameter from the invoking page's title using titleparts to grab the second element.

The remaining mechanics are just opaque magic (sorry).

Example

{{Template:Honor infobox
|honorname=Camping Skills IV
|skill=2
|year=2001
|category=Recreation
|authority=General Conference
|insignia=Camping_Skills_IV.png
|insignia_source=foo
|master1=Wilderness
}}


Camping Skills IV
Recreation
[[File:|170px|link=|alt=|]]
Skill Level
123
Approval authority
Year of Introduction

2001

See also
Wilderness Master Award
Camping Skills III
Outdoor Leadership


Camping Skills IV
Recreation
Skill Level
123
Approval authority
General Conference
Year of Introduction

1986

See also
Wilderness Master Award
Camping Skills III
Outdoor Leadership


Rock Climbing
Recreation
[[File:|170px|link=|alt=|]]
Skill Level
123
Approval authority
Year of Introduction

1970

See also

Recreation Master Award
Rock Climbing - Advanced


Rock Climbing
Recreation
Skill Level
123
Approval authority
North American Division
Year of Introduction

1970

See also

Recreation Master Award
Rock Climbing - Advanced