Difference between revisions of "Template:PropVals/Group"

From Salem Wiki
Jump to: navigation, search
(Initial setup)
 
m (adding code, current max args=3)
Line 1: Line 1:
<onlyinclude></onlyinclude><noinclude>{{documentation}}</noinclude>
+
<onlyinclude>{{#if: {{PropVals/Split|val={{{1|Lime;15;Startpost}}}|part=2}}
 +
| {{PropVals/Split|val={{{1}}}|part=tail}}{{!}}<!--
 +
-->{{#sub:{{{1}}} | 0 | {{#rpos:{{{1}}}|;}} }}<!--
 +
-->{{#if: {{{2|}}}
 +
| {{#ifeq: {{PropVals/Split|val={{{1|}}}|part=tail}}
 +
| {{PropVals/Split|val={{{2|}}}|part=tail}}
 +
|| /\ {{PropVals/Split|val={{{2}}}|part=tail}}
 +
}}<!--
 +
-->{{!}}{{#sub:{{{2}}} | 0 | {{#rpos:{{{2}}}|;}} }}<!--
 +
-->{{#if: {{{3|}}}
 +
| {{#ifeq: {{PropVals/Split|val={{{2|}}}|part=tail}}
 +
| {{PropVals/Split|val={{{3|}}}|part=tail}}
 +
|| /\ {{PropVals/Split|val={{{3}}}|part=tail}}
 +
}}<!--
 +
-->{{!}}{{#sub:{{{3}}} | 0 | {{#rpos:{{{3}}}|;}} }}
 +
}}<!--
 +
-->}}
 +
}}
 +
</onlyinclude><noinclude>{{documentation}}</noinclude>

Revision as of 13:21, 22 June 2012

{{{1}}}|{{{1}}


Template documentation (for the template shown above, sometimes hidden or invisible)

Description

  • This is a wrapper-template that generates output, which will be used as arguments for {{PropVals/List}}.
    {{#arraymap:}} will be used as a wrapper, that uses this generated-output, to inject the extra arguments for {{PropVals/List}}.
    This generated-output is a concatenation of grouped-records, using {{PropVals/Group/NextPart}} to output these grouped-records.
  • This wrapper-template is used to feed individual records to its helper-template, {{PropVals/Group/NextPart}}, therefore it has a hard-coded limit on the amount of records it can process !
    This limit, currently 20, can be increased by properly expanding the code inside...

Syntax

Type the below code somewhere inside your code:
{{PropVals/Group |sep={{{sep|;}}} |grpsep={{{grpsep|/\}}} |<record>|<record>|<record>|etc...}}

Examples

  1. {{PropVals/Group|sep={{{sep|;}}}|grpsep={{{grpsep|/\}}}|Lime;15;Startpost |Flint;15;Startpost |Stone;30;Startpost |Lime;8;Cornerpost |Flint;8;Cornerpost |Stone;15;Cornerpost |Flint;1;Wallsegment |Stone;3;Wallsegment |Board;10;Gate |Nails;4;Gate}}
    gives:
    Startpost|Lime;15|Flint;15|Stone;30