Generating tabular output (examples)

The following tests explain how to use the table command. We have a set of documents (Some Article 1 thru Some Article 6) and test templates named Some Template and Some Template.dpl used in the examples below.

Please note that there is another example for creative use of the table command in the discussion page.

A1: just get one column from a template invocation
|include   = {Some Template}:parm1 |table     = ,,The first parameter of the Template Call |tablerow  = bgcolor=#eeffee¦%%

A2: putting the link into the second column
|include   = {Some Template}:parm1:%PAGE% |table     = ,-,The first parameter of the Template Call,Link to the article |tablerow  = bgcolor=#eeffee¦%%,%%

A3: just get one column from a template invocation (sortable table)
|include   = {Some Template}:parm1 |table     = class=sortable,,The first parameter of the Template Call |tablerow  = bgcolor=#eeffee¦%%

A4: just get one column from a template invocation
|include   = {Some Template}:parm1 |table     = ,-,The first parameter of the Template Call |tablerow  = bgcolor=#eeffee¦%%

A single '-' instead of a column name for the hyperlink to the article will suppress that column. Note that in this configuration articles are completely missing if they do not contain a Call of Template:Some Template.

B: just get one chapter
In this example we also demonstrate sorting; negative numbers result in descending sort order.

|include = #Chapter X  |table    = ,,X |tablerow = bgcolor=#ffeeee¦%% |tablesortcol = -1

B2: one chapter, one line per article
|include = #dummy,#Chapter X  |table    = ,,,X |tablerow = ,bgcolor=#ffeeee¦%%

Using a dummy parameter (and adding an empty column header -- set the three commas at 'table=,,,X') leads to only ONE line per article. Not very clean, but it works.

C: get two different chapters
|include = #Chapter X,#Chapter Z |table   = ,,X,Z |tablerow = bgcolor=#ffeeee¦%%,bgcolor=#ffffee¦ %% 

Note that a new table row is started for every occurence of Chapter X (being the first chapter mentioned in the include statement). The contents of all other columns (in this case Chapter Z) is only shown in the LAST row of each article. If there are multiple occurencies of Chapter Z, they will be separated by a horizontal line (or ony by a line break if you put a space before the "#Chapter Z" in the iclude statement).

C2: get two different chapters
|include=#dummy, #Chapter X, #Chapter Z |table=,,,X,Z

Again we used the trick with the dummy parameter at include. As we put a space before the '#Chapter X' we do not even get horizontal separators betrween the chapter texts.

D: invoke a phantom template
|include = {Some Template}.dpl |table  = ,,T1 - p1, T1 - p2

We need two column headers as Template:Some Template.dpl produces two columns of output

D1: use template parameters without phantom template
|include = {Some Template}:parm1:parm2[12] |table  = ,,T1 - p1, T1 - p2

We delimit the contents of parm2 to 12 characters; note that word boundaries are used to cut the text; so we only get the first two words (=10 characters)

D2: invoke a phantom template
|include = #dummy,{Some Template}.dpl2 |table  = ,,,Template invocations

Note: The trick with the dummy column wouldn´t work with Template:Some Template.dpl because that template produces new columns whenever it is called. So we used a different phantom template here /Template:Some template.dpl2) which creates a little table containing the parameters of each invocation.

E: A combination of all
|addpagecounter = yes |include       = {Some Template}:parm1:parm2,#Chapter X,#Chapter Z  |table          = ,,tpl:parm1,tpl:parm2,Chapter X,Chapter Z,page count |tablerow      = %% ,%% ,bgcolor=#ffdddd|%%,bgcolor=#ffffdd|%% |format        = ,,\n|bgcolor=#ddddff|%COUNT%

E2: A combination of all
|include=#dummy,{Some Template}.dpl2,#Chapter X,#Chapter Z |table=,-,,Template Invocations,Chapter X,Chapter Z

Note the '-' as the second parameter for the table arguments.