Difference between revisions of "Template:Honor infobox"
From Pathfinder Wiki
DesignerThan (talk | contribs) |
DesignerThan (talk | contribs) |
||
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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
[[Category:UsesLoops]]</noinclude> | [[Category:UsesLoops]]</noinclude> | ||
− | <includeonly><!-- Get the List of Master Honors -->{{#vardefine:master|{{GetMasterCategoryList|category={{ | + | <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}} | ||
− | |{{ | + | |{{#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/{{ | + | | 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+{{ | + | {{#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 00: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
- |honorname=Camping Skills IV
- }}
Camping Skills IV | |
Recreation | |
Skill Level 123 | |
Approval authority |
Year of Introduction 2001 |
See also Wilderness Master Award Camp Safety - Advanced Outdoor Leadership | |
Camping Skills IV | |
Recreation | |
Skill Level 123 | |
Approval authority General Conference |
Year of Introduction 1986 |
See also Wilderness Master Award Camp Safety - Advanced Outdoor Leadership | |
Rock Climbing | |
Recreation | |
Skill Level 123 | |
Approval authority |
Year of Introduction 1970 |
See also | |
Rock Climbing | |
Recreation | |
Skill Level 123 | |
Approval authority North American Division |
Year of Introduction 1970 |
See also | |