Модуль:CountryData/документація

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Це сторінка документації для Модуль:CountryData

This module has three functions to extract data from country data templates (which are used for most flag templates).

gettable

[ред. код]

Extracts all parameters from a data template and returns them as a Lua table. This function is only usable from other Lua modules; invoke it using require('Module:CountryData').gettable(parameters).

The first parameter is the frame of the invoking module; the second is the country or other entity to get the data of. The optional third parameter is a table of parameters to pass into the data template; this may, for example, include |age= or |mw=, which are used in the values of some sports alias parameters. E.g.,

local data = require('Module:CountryData').gettable(frame,"Франція",{age="20",mw="men's"})

The function returns an empty table if a data template does not exist or does not conform to the standard structure.

getalias

[ред. код]

If used from wikicode, this function returns the value of a single field in a data template. The first parameter is the country or other entity whose data to return; the second is the name of the field. For example, {{#invoke:CountryData|getalias|France|flag alias}} → Flag of France.svg. The other parameters are |variant= to return a variant parameter value, with fallback to the main field value if the variant does not exist, and |def= for the fallback output if the wanted data template or field does not exist, the default for which is a literal "nil".

Note: This is likely not quicker than wikicode-only alternatives such as {{getalias}}, {{getalias2}} and {{pst name}}, because it transcludes the data template from Lua and converts it to a Lua table using the above function, picks the wanted parameter name, and returns it to wikicode, whereas other templates perform two simple non-Lua transclusions to get, in most cases, the same result. The Lua version does have the advantage that using it with a non-existing country data template returns "nil" (or the value of |def=) rather than a redlink to the data template. See a comparison of the four at User:SiBr4/Flagg tests#Lua-based getalias.

gettemplate

[ред. код]

This function concatenates the fields of a data template into a string similar to what you get when transcluding it directly. It can be compared with a direct transclusion to test if a template is being converted to Lua correctly:

{{pre|{{Дані країни Франція}}}}
{{pre|{{#invoke:CountryData|gettemplate|Франція}}}}

gives

{{ {{{1}}}
| alias = Франція
| flag alias = Flag of France.svg
| flag alias-1790 = Flag of France (1790-1794).svg
| flag alias-1814 = Flag of the Kingdom of France (1814-1830).svg
| flag alias-ВМС = Civil and Naval Ensign of France.svg
| flag alias-ВМС-1790 = Flag of French-Navy-Revolution.svg
| flag alias-Віши = VichyFlag.svg
| link alias-ВМС = Військово-морські сили Франції
| link alias-СВ = Сухопутні війська Франції
| розмір = 
| назва = 
| altlink = 
| варіант = 

}}
{{ {{{1}}}
| altlink = 
| flag alias-1790 = Flag of France (1790-1794).svg
| варіант = 
| flag alias-ВМС = Civil and Naval Ensign of France.svg
| розмір = 
| flag alias = Flag of France.svg
| link alias-СВ = Сухопутні війська Франції
| назва = 
| link alias-ВМС = Військово-морські сили Франції
| flag alias-1814 = Flag of the Kingdom of France (1814-1830).svg
| flag alias-ВМС-1790 = Flag of French-Navy-Revolution.svg
| alias = Франція
| flag alias-Віши = VichyFlag.svg
}}

Note that, like with all Lua tables, the order of entries is not preserved, so the parameters are mixed up.