Teamplaid:Item/documentation
This is a documentation subpage for Teamplaid:Item. It contains usage information, categories and other content that is not part of the original teamplaid page. |
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
[deasaich]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: Teamplaid:Automarkup
Constructs available to recipient templates
[deasaich]Get a component of an item
[deasaich]See Teamplaid:Component.
Format an item using a template
[deasaich]Format each item using a template
[deasaich]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
(see {{Format item}} for details). The transformed items are separated with #invoke
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
[deasaich]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
[deasaich]- {{For loop}}