ᱪᱷᱟᱸᱪ:Item
This template uses Lua: |
This template packs structured data into a compact item, which can be passed as a parameter to another template. This allows to pass multiple structured items to that template, which can iterate over the items and extract data from them.
Usage ᱥᱟᱯᱲᱟᱣ
The structured data item contains all parameters (both numbered ones and named ones) passed to the {{Item}} template. For example, {{Item|Alice|Bob|best=Eve}}
creates an item with components 1=Alice
, 2=Bob
, best=Eve
.
Multiple items will be passed to an example recipient template {{User:Petr Matas/sandbox/Pets}} like this:
Markup | Renders as |
---|---|
{{User:Petr Matas/sandbox/Pets|owner=Bob | {{Item|name=Tom|animal=cat|legs=4}} | {{Item|name=Jerry|animal=mouse|legs=4}} | {{Item|name=Tweety|animal=bird|legs=2}} }} |
These are Bob's pets:
They have Lua error in ᱢᱳᱰᱩᱞ:Math at line 525: attempt to call field '?' (a nil value). legs in total. |
Constructs available to recipient templates ᱥᱟᱯᱲᱟᱣ
Get a component of an item ᱥᱟᱯᱲᱟᱣ
See Template:Component.
Format an item using a template ᱥᱟᱯᱲᱟᱣ
See Template:Format item.
Format each item using a template ᱥᱟᱯᱲᱟᱣ
In the recipient template, use:
{{#invoke:Item|each|template=TransformationTemplate|Separator|Prefix|Suffix|...}}
This transforms all items using a given template. TransformationTemplate
is called for each item with the parameters that the item has been created with, plus any additional parameters passed to #invoke
(see {{Format item}} for details). The transformed items are separated with Separator
and surrounded with Prefix
and Suffix
(whitespace is not stripped from these three optional parameters).
The template {{User:Petr Matas/sandbox/Pets}} from the example produces the list of pets using the following code (note the use of newline as a Separator
and *
as a Prefix
to produce list items):
{{#invoke:Item|each|template=Show pet| |*}}
Gather given parameter from all items ᱥᱟᱯᱲᱟᱣ
In the recipient template, use {{#invoke:Item|gather|parameter=ParameterName|template=TransformationTemplate}}
to gather the given parameter from all items. TransformationTemplate
will be called once and the gathered parameters (one parameter from each item) will be passed to it.
The template {{User:Petr Matas/sandbox/Pets}} from the example produces the total number of legs using {{#invoke:Item|gather|parameter=legs|template=Sum}}
.
See also ᱥᱟᱯᱲᱟᱣ
- {{For loop}}
The above documentation is transcluded from ᱪᱷᱟᱸᱪ:Item/doc. (edit | history) Editors can experiment in this template's sandbox (create | mirror) and testcases (create) pages. Please add categories to the /doc subpage. Subpages of this template. |