Difference between revisions of "Template:GetHonorMetaData"

From Pathfinder Wiki
(Created page with "<includeonly>{{#vardefine:page|{{{page|{{#if:{{{honor|}}}|AY Honors/{{{honor}}}|{{GetLandingPage}}}}}}}}}{{#vardefine:srcpage|{{#if:{{#explode:{{#var:page}}|(|1}}}|{{#explode:...")
 
 
(30 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<includeonly>{{#vardefine:page|{{{page|{{#if:{{{honor|}}}|AY Honors/{{{honor}}}|{{GetLandingPage}}}}}}}}}{{#vardefine:srcpage|{{#if:{{#explode:{{#var:page}}|(|1}}}|{{#explode:{{#var:page}}|(|0}}|{{#var:page}}}}}}{{#vardefine:landingpage|{{#titleparts:{{#var:srcpage}}|2}}}}{{#vardefine:pvalue|{{#dpl:title={{#var:landingpage}}|include={{{{template|HonorLanding}}}}:{{{parameter|honorname}}}}}}}{{#vardefine:output|{{#if:{{{english|}}}|{{#var:pvalue}}|{{#if:{{#var:pvalue}}|{{#lst:Localization:All{{GetLangSuffix}}|{{#var:pvalue}}}}}}}}}}{{#if:{{#var:output}}|{{#var:output}}|{{#var:pvalue}}}}
+
<includeonly>{{#vardefine:page
</includeonly><noinclude>
+
            |{{{page|{{#if:{{{honor|}}}
This template returns the value of a parameter as defined in a template on a given honor landing page. It takes up to four arguments:
+
                          |AY Honors/{{{honor}}}
;page|honor: You can specify either the page or the honor. If you specify both it will use page. The page argument is the page title of an honor or one of its subpages.  It accepts translated pages, but ignores that since the metadata is in the honor's "source" page which is in English.  This could give problems when trying to fetch an honorname.  If you need the translated version of any other parameter, you should be able to use [[:Template:Localize]] to convert it.
+
                          |{{GetHonorLandingPage}}
;template: If omitted, this will specify which template holds the parameter you want. It defaults to HonorLanding, but if you are experimenting and have some other template in place, you can specify it.
+
                    }}
;parameter: This specifies which parameter of template you want the template to return. It will always return the English value of the parameter. Again... [[:Template:Localize]] is your friend, but note that Localize only works on a translate page (or we'd demonstrate it here).
+
            }}}
 +
}}{{#vardefine:localizationSource|{{#ifeq:{{{parameter}}}|authority|Authorities|All}}
 +
}}{{#vardefine:landingpage
 +
            |{{#titleparts:{{#var:page}}|2}}
 +
}}{{#vardefine:localOutput|}}{{#vardefine:pvalue|{{#dpl:
 +
|debug=0
 +
|title={{#var:landingpage}}
 +
|include={{{{template|HonorLanding}}}}:{{{parameter|category}}}}}
 +
}}{{#if:{{{dontTranslate|}}}
 +
    ||{{#if:{{#var:pvalue}}
 +
          |{{#vardefine:localOutput
 +
                |{{Localize|{{#var:pvalue}}|{{#var:localizationSource}}|language={{{language|{{PAGELANGUAGE}}}}}}}
 +
          }}
 +
    }}
 +
}}{{#if:{{#var:localOutput}}|{{#var:localOutput}}|{{#var:pvalue}}}}{{#if:{{{debug|}}}
 +
|*landingpage={{#var:landingpage}}
 +
*parameter={{{parameter|category}}}
 +
*template={{{template|HonorLanding}}}
 +
*language={{{language|undefined}}}
 +
*pvalue={{#var:pvalue}}
 +
*srcpage={{#var:srcpage}}
 +
}}</includeonly><noinclude>
 +
This template returns the value of a parameter as defined in a template on a given honor landing page. Unless told otherwise, it will localize the parameter value into the language of the invoking page. If no localization for the parameter value exists, it will return the parameter as it exists in the honor's landing page in the source language.
 +
 
 +
If the template cannot locate the desired data, it will return an empty string. This can happen if the specified page does not use the specified template, or if the page does not specify the parameter requested.
 +
 
 +
It takes up to four arguments:
 +
;page|honor: You can specify either the page or the honor. If you specify both it will use page. If you specify neither, it will assume you are on an honor page or subpage and treat the first two elements of the invoking page's title as the page. The page argument is the page title of an honor or one of its subpages.
 +
;template: Specifies which template holds the parameter you want. If omitted, it defaults to HonorLanding, but if you are experimenting and have some other template in place, you can specify it.
 +
;parameter: This specifies which parameter of template you want the template to return. If omitted, it will assume you want the category parameter.
 +
;language: This takes a language suffix. The available once can be seen at [[Template:GetLangSuffix]]. If non is provided, the template will translate the data to the language of the page it has been invoked off. Don't forget the /
 +
 
 +
With the new translation system in place, translating the insignia resulted in a error message. Now there is the argument ''dontTranslate'' set it to anything you want and the output, doesn't get translated.
  
 
==Examples==
 
==Examples==
Line 10: Line 42:
 
*<nowiki>{{</nowiki>GetHonorMetaData|page=AY Honors/Cycling/Requirements/es|parameter=skill}} &rarr; {{GetHonorMetaData|page=AY Honors/Cycling/Requirements/es|parameter=skill}}
 
*<nowiki>{{</nowiki>GetHonorMetaData|page=AY Honors/Cycling/Requirements/es|parameter=skill}} &rarr; {{GetHonorMetaData|page=AY Honors/Cycling/Requirements/es|parameter=skill}}
 
*<nowiki>{{</nowiki>GetHonorMetaData|honor=Camping Skills III|parameter=authority}} &rarr; {{GetHonorMetaData|honor=Camping Skills III|parameter=authority}}
 
*<nowiki>{{</nowiki>GetHonorMetaData|honor=Camping Skills III|parameter=authority}} &rarr; {{GetHonorMetaData|honor=Camping Skills III|parameter=authority}}
*<nowiki>{{</nowiki>GetHonorMetaData|honor=Animal Tracking (General Conference)|parameter=year}} &rarr; {{GetHonorMetaData|honor=Animal Tracking (General Conference)|parameter=year}}
+
*<nowiki>{{</nowiki>GetHonorMetaData|honor=Camping Skills III|parameter=authority|language=/es}} &rarr; {{GetHonorMetaData|honor=Camping Skills III|parameter=authority|language=/es}}
*<nowiki>{{</nowiki>GetHonorMetaData|honor=Currency|parameter=year|template=User:DesignerThan/Sandbox/LandingPage}} &rarr; {{GetHonorMetaData|honor=Currency|parameter=year|template=User:DesignerThan/Sandbox/LandingPage}}
+
*<nowiki>{{</nowiki>GetHonorMetaData|honor=Animal Tracking|parameter=year}} &rarr; {{GetHonorMetaData|honor=Animal Tracking|parameter=year}}
 
+
*<nowiki>{{</nowiki>GetHonorMetaData|honor=Biblical Language (Hebrew)|parameter=year}} &rarr; {{GetHonorMetaData|honor=Biblical Language (Hebrew)|parameter=year}}
 +
*<nowiki>{{</nowiki>GetHonorMetaData|honor=Animal Tracking|parameter=insignia|dontTranslate=true}} &rarr; {{GetHonorMetaData|honor=Animal Tracking|parameter=insignia|dontTranslate=true}}
  
 +
{{PrintLocalizationErrors}}
 
</noinclude>
 
</noinclude>

Latest revision as of 18:57, 4 February 2022

This template returns the value of a parameter as defined in a template on a given honor landing page. Unless told otherwise, it will localize the parameter value into the language of the invoking page. If no localization for the parameter value exists, it will return the parameter as it exists in the honor's landing page in the source language.

If the template cannot locate the desired data, it will return an empty string. This can happen if the specified page does not use the specified template, or if the page does not specify the parameter requested.

It takes up to four arguments:

page|honor
You can specify either the page or the honor. If you specify both it will use page. If you specify neither, it will assume you are on an honor page or subpage and treat the first two elements of the invoking page's title as the page. The page argument is the page title of an honor or one of its subpages.
template
Specifies which template holds the parameter you want. If omitted, it defaults to HonorLanding, but if you are experimenting and have some other template in place, you can specify it.
parameter
This specifies which parameter of template you want the template to return. If omitted, it will assume you want the category parameter.
language
This takes a language suffix. The available once can be seen at Template:GetLangSuffix. If non is provided, the template will translate the data to the language of the page it has been invoked off. Don't forget the /

With the new translation system in place, translating the insignia resulted in a error message. Now there is the argument dontTranslate set it to anything you want and the output, doesn't get translated.

Examples

  • {{GetHonorMetaData|page=AY Honors/Cycling/Requirements|parameter=category}} → Recreation
  • {{GetHonorMetaData|page=AY Honors/Cycling/Requirements/es|parameter=skill}} → 1
  • {{GetHonorMetaData|honor=Camping Skills III|parameter=authority}} → General Conference
  • {{GetHonorMetaData|honor=Camping Skills III|parameter=authority|language=/es}} → Asociación General
  • {{GetHonorMetaData|honor=Animal Tracking|parameter=year}} → 1976
  • {{GetHonorMetaData|honor=Biblical Language (Hebrew)|parameter=year}} → 2020
  • {{GetHonorMetaData|honor=Animal Tracking|parameter=insignia|dontTranslate=true}} → Animal Tracking AY Honor.png