Template:Expose Item: Difference between revisions
(add level information into template, update docs) |
(handle 0 entries case nicer) |
||
Line 1: | Line 1: | ||
<onlyinclude><includeonly>{{# | <onlyinclude><includeonly>{{#lvardef:entry|{{{1}}}++{{#var:page_expose_item_level_low}}++{{#var:page_expose_item_level_high}}}} | ||
{{#if:{{#var:page_exposed_items}}|{{#vardefine:page_exposed_items|{{#var:page_exposed_items}},{{#lvar:entry}}}}|{{#lvar:entry}}}}</includeonly></onlyinclude> | |||
Warning: at the moment this is an experimental template and it may be changed without warning or backwards compatibility. Please don't use it without a good reason to. | Warning: at the moment this is an experimental template and it may be changed without warning or backwards compatibility. Please don't use it without a good reason to. |
Revision as of 09:47, 14 September 2023
Warning: at the moment this is an experimental template and it may be changed without warning or backwards compatibility. Please don't use it without a good reason to.
What this templates does: it appends the provided single item name to the contents of the non-locally scoped var page_exposed_items.
Why: This will make it possible to collect a list of every drop table item transcluded into a page, thus letting you later query sources of items.
{{Expose Item|<item name to expose>}}Items are stored in following format separated by commas:
ITEM_NAME++LEVEL_LOW++LEVEL_HIGH
The level low and high are read from vars page_expose_item_level_low and page_expose_item_level_high, defaulting to 1 and 12, respectively. Vars are set with Template:Expose Item/SetLevel and reset with Template:Expose Item/ResetLevel. ResetLevel should be called by DropTableStart, while SetLevel should be called by Template:DropTableLevel. Template:DropTableDivider will be the implementation details of DropTableLevel.