Template:DPL parameter.surrogateexample

From DynamicPageList3 Manual

[[{{{%PAGE%}}}#{{{name}}}|{{{name}}}]]||{{#sub:|0|50}}

View this page's source to see each of the columns it creates in the table it is used in (it formats the second and the third column of results) used in only Parameter: multisecseparators (example 3).


This template is a surrogate template (also called a 'phantom template') that formats one result/line of DPL output. DPL then reuses and applies this surrogate template's formatting to each result/line in the output list.

Surrogate/phantom templates are used by setting the template name in includepage = {templatename}.suffix (changing the suffix to whatever the template name is, usually the suffix is descriptive of template purpose).

Naming the surrogate/phantom template after its parent, and then adding a descriptive suffix on the end, ensures both the parent and surrogate are easily found, and their relationship to each other easily understood. This style of naming them is particularly useful when looking at templates in Special:AllPages (and selecting the templates drop-down option).

This surrogate template requires the ParserFunctions extension, and it requires $wgPFEnableStringFunctions to be set to "true" (enabled) in order to function correctly; on Miraheze, ParserFunctions is already installed and the latter setting can be found and enabled in ManageWiki. The #sub parser function, used to add the "more..." text in this example, is for demonstration purposes only; it may break nowiki or other tags (creating undesired results) if it splits a result in the middle of one of such tags.