Controlling output volume

Per default, DynamicPageList3 will show the name of each article, including its namespace. The name will serve as a link to the article. By setting the output control parameters of DPL, you can:


 * show the number of articles found
 * suppress the namespace part of the articles' names
 * cut off the articles' names at a certain length
 * add metadata (size, author, last edited by, date of last change, ..)
 * add access date (frequency, date of last access)
 * add the articles' contents or parts of it

Furthermore, you can add a heading if there are some articles to display.

And you can define an alternate text which will be shown if there are no articles to display.

resultsheader
Syntax:

Example:

Result:

Notes:
 * The symbol %PAGES% will be replaced by the number of pages found. If your query result is limited (by system settings or by the parameter)   will only show the upper limit.
 * The symbol  will be replaced by the number of pages found—regardless of count limits. This may consume extra resources.
 * %VERSION% will be replaced by the current DPL version.
 * The symbol  or   will be converted to a newline symbol. This is useful if you want to use wiki markup, which needs to start at the beginning of a line. You may need to add   or   if the wiki parser requires a linefeed to understand your wikitext.
 * If  is specified as well, the latter will be used in case there is exactly one entry in the DPL result set. Then   will only be used if there are two or more entries in the result set.

resultsfooter
Syntax:

Example:

Result: Notes:
 * The rules of apply here as well.
 * The symbol  or   will be converted to a newline symbol.

oneresultheader
Syntax:

Notes:
 * The symbol  or   will be converted to a newline symbol. You may need this if the wiki parser requires a linefeed to understand your wikitext.
 * will be replaced by the current DPL version. This is useful if you want to use wiki markup, which needs to start at the beginning of a line.

oneresultfooter
Syntax:

Notes:
 * The symbol  or   will be converted to a newline symbol. You may need this if the wiki parser requires a linefeed to understand your wikitext.
 * will be replaced by the current DPL version. This is useful if you want to use wiki markup, which needs to start at the beginning of a line.

noresultsheader
Syntax:

Example:

Result: Notes:
 * Setting a single blank or newline character ( or  ) will suppress the warning message from DPL, which is normally issued if no articles were found.
 * The symbol  or   will be converted to a newline symbol. You may need this if the wiki parser requires a linefeed to understand your wikitext.

suppresserrors (DEPRECATED)
This parameter is deprecated and is left in the code as a null parameter to give people time to remove it from their queries. It will be fully removed in a future release of DPL.

Syntax:

Notes:
 * Setting  to true has the same effect as setting   to a single space character. The command is provided for downward compatibility reasons with older DPL versions.
 * See also:.

noresultsfooter
Syntax:

Note:  is essentially the same as. If there is no output to display, the difference between header and footer becomes incredibly marginal.

addcategories
Syntax:

Example:

Result:

Notes:
 * In  the category list can also be referenced using built-in   (pipe separated)   (bullet separated)   (comma separated).

addpagecounter
Example:

This will would have shown the 3 most popular articles about dessert.

Note: in  the access counter can also be referenced as a built-in variable.

addpagesize
Example:

Result:

Note: in  the size can also be referenced as a built-in variable.

addcontribution
Syntax:  — (Default is false)

Using this parameter will restrict your output to articles which were edited recently (This is usually one week or one month, according to the setup of your wiki).

You will get a link to the contributor and an "asterisk bar" which indicates how many bytes in the article were changed by that user.

You will also have the built-in variables,   and   available to be used in your own  statement.

adduser
Syntax:  — (Default is false)

Example:

Result:

Note: If  the user can be referenced using the built-in variable.

addauthor
Syntax:  — (Default is false)

Example:

Result:

addlasteditor
Syntax:  — (Default is false)

addpagetoucheddate
Syntax:  — (Default is false)

Example:

Result:

Notes:
 * In  this date can also be referenced as a built-in variable.
 * The formatting of the date can be influenced using.
 * The date is translated to your local time zone (if defined in your preferences) or to the server's time zone.

addeditdate
Syntax:  — (Default is false)

Example:

Result:

Notes:
 * In  this date can also be referenced as a built-in variable.
 * The formatting of the date can be influenced using.
 * The date is translated to your local time zone (if defined in your preferences) or to the server's time zone.

addexternallink
Syntax: — (Default is false)

Note: The command makes only sense in combination with.

addfirstcategorydate
Syntax:  — (Default is false)

Example:

Result:

Notes:
 * In  this date can also be referenced as a built-in variable.
 * The formatting of the date can be influenced using.
 * The date is translated to your local time zone (if defined in your preferences) or to the server's time zone.

showcurid
Syntax:  — (Default is false)

Example:

This will output a list of pages belonging to Category:Dessert examples ; the hyperlinks to these pages look normal, but they have an additional parameter named 'curid' which contains the numeric ID of the linked page. Using this type of link may be somewhat faster than using the title only. This kind of link is useful for some web spiders (e.g., google spider needs a unique ID within the pagelink) and it works even if the title has moved.

Result:

include
With  you can incorporate one or more of the following
 * The whole article as it is
 * A certain chapter -- identified by its headline
 * A certain chapter -- identified by its position (sequence number, regardless of level)
 * Parameter(s) used in template calls
 * The output of a surrogate template (phantom template) which is used instead of the original template
 * Pieces of text which are marked by special section markers

There is a close correlation between the output of the  statement and  and. You should understand those statements if you want to create tabular output from included content.

The syntax for this parameter is outlined in multiple sections below.

include whole article
To include a whole page, use a wildcard:


 * you can use  to restrict the included text to a portion of the article. The text is truncated in a way which will not spoil tag structures or bracket nestings. It will be cut at a word boundary if possible.
 * you can use  to restrict the included text to a portion of the article. The text is truncated in a way which will not spoil tag structures or bracket nestings. It will be cut at a word boundary if possible.

Example:

include page sections
To include page sections (chapters) by a reference to their heading, use the heading name with a "#" as prefix. This will include text from heading 'heading1' (case-insensitive) until the next heading of the same or lower level (refer to Transcluding sections by headings).

Example:

Result:

Notes:
 * This functionality is also available as a separate parser function (called ).


 * Normally your text pattern will be compared literally and it must match the whole headline of the chapter. If you use a double hash sign (##), however, the text will be taken as a (case-insensitive) regular expression. It will automatically be enclosed within slashes, and will refer to the headline as a whole (^regexp$). So if you only want to match part of the text, you must add ".*" around your pattern. You must provide correct regexp syntax, otherwise, you may see runtime errors, get no output etc.
 * The above will match a Headline like "This is something old" or "That Was Something Old".
 * The above will match a Headline like "This is something old" or "That Was Something Old".


 * Instead of the #-sign the @-sign can be used (the # lead to problems in certain cases); @@ will act as a regexp comparison just as ## does.
 * Add one or more optional filter expressions, a character limit and/or an optional link text in square brackets to shape the included portion of text :.
 * The filters will be applied before calculating the length of the text; they simply throw away the matching part of the contents.
 * If the remaining text is longer than the limit, it will be cut and a link will appear which points directly to the chapter which was included. Using "1" as a limit will only show the link (if the corresponding chapter in the article is not empty), "0" will not show anything, not even the link. When truncating included text portions care is taken not to spoil wiki syntax (i.e., maintain a symmetry of brackets and braces, make sure that nowiki and pre tags are balanced). Therefore, the size of the included text can deviate from what you specified.


 * If there is no chapter with the specified heading, the output will be empty.

linktext can be:
 * Plain text
 * Then this text will be used as a link
 * Text starting with "img="
 * Then the link will appear as an image link (you must provide the image in a suitable size; no scaling will happen); note that image linking only works if there is another mediawiki extension installed (LinkedImages).
 * A text containing ;
 * This variable will be replaced by "article#heading" if used in . It is up to you to create a link from this text using normal wiki syntax if you wish.

To include sections according to their position on the page, use a simple number with a  as prefix. will include the text BEFORE the first chapter,  will include the first chapter,   the sixth and so on. Chapters are counted regardless of their level. No nesting logic is applied. is a special value which refers to the last chapter of an article ( will not work, however). will include the first 30 characters of the second chapter. will contain the heading of the selected chapter. See Test include sections by number.
 * include sections (chapters) by a reference to their position on-page



includes the first 100 characters of the first chapter

Example:

Result:

include contents related to templates
You can include the result of a template call by specifying the template name within curly braces. So,  will display the result of the template call with the original parameters used on the selected article page.


 * You need a space char or a line break after this statement before ending the #dpl parser function call because otherwise the MW parser may be fooled by three successive closing curly braces.


 * MediaWiki treats spaces like underscores. Therefore, {my template} will also match a template invocation like.


 * MediaWiki searches for template calls in the template namespace. Specifying {my template} will also match a template invocation like.
 * Using a different namespace also works: {Xyz:my template} will match a template invocation in namespace Xyz. {:my template} will match a template invocation in the main namespace like.


 * You can include one or more parameters of a template call by specifying a list of names or position numbers separated by colons (and optional white space). Names are use for named parameters, numbers for positional parameters.
 * The following would include the values of the two parameters named 'age' and 'size' and the value of the first unnamed parameter in all calls of the template "animal":


 * It is even possible to use expressions which contain a  symbol as pseudo parameters:

Example:

Result:

Instead of listing parameter values, you can include the output of one or more 'surrogate' templates (also called 'phantom templates'). DPL will call the template(s) instead of the original, and allows you to work with the identical parameter list (plus additional DPL3 parameters). The output of the surrogate template will set (and format) one line of results, which is then applied to each subsequent result in the result set. To make this happen, you specify the name of a template within single curly braces and add a suffix. Five additional DPL parameters are also passed to the template, and can be used within it:



Example:

Result:

Notes:
 * There is an alternate syntax to specify a surrogate template. It has the advantage that the surrogate template may reside in a different namespace than the original template. Also, the surrogate template's name can be wholly different from the original template name: . For example, you may specify something like.
 * If a page listed in your result does not use the specified template the DPL engine will call a template with the additional suffix ".default" with %PAGE% and %TITLE% as parameters.

include parser function calls
If you specify a pattern like,  DPL will look for calls of the parser function 'pfunc'. DPL will pass the parameters of this parser function to a template, which you have to provide under the name of 'Template:pfunc.list'. Instead of '.list' you can use your own suffix. The Template will receive the parser function name as  and all parameters under their normal name or number. Instead of specifying a single parser function, you can also use a generic pattern.

Example:

Result:

Note: This function is not very robust. It cannot handle nested parser functions properly.

To find all parser functions,  can be used:


 * The  portion is treated like a regular expression.
 * The search itself is based on simple heuristics, so the output may not always be correct.

include parser extension calls

 * if you specify a pattern like,  DPL will look for calls of the parser extension with the tag name &lt;func&gt;. DPL will pass the body of the tag structure to a template, which you have to provide under the name of 'Template:func.list'. Instead of '.list' you can use your own suffix. The Template will receive the function name as   and the body will be named  . See DPL Example 028. Note that this function is not very robust. It cannot handle nested tags properly.

include specially labeled text portions

 * To include sections which are labeled with special tags, you just mention the tag name. Refer to Labeled Section Transclusion for details on how to label sections in your pages accordingly:



If the section name starts with a '*' the asterisk will be cut off and the rest of the text will be taken as a regular expression. If the section name is '**' it will match all section names. In both cases, the tag name will precede the output, separated by '::'.

See Test:section inclusion

include nothing

 * To include nothing from the page (no inclusion), leave blank (this is default):


 * A single '-' sign has the same effect; such a dummy parameter can be useful if you want to put content into columns of the output table which is not derived from the include statement

combinations of the above possibilities
All of the above can be combined, you can even refer to the same template or heading more than once.



Example:

This will include:
 * A text portion which is marked by special tags named "foo"
 * The contents of a chapter named "bar"; only the first 200 characters of wiki text will be shown; if the chapter is larger than that, a link with the text "..more.." will point to the source
 * An image link based on "my.gif" to the chapter "bang" in the article—if there is such a chapter, and it is not empty
 * The output of template "boo.dpl" being called with the same parameters that were used to call template "boo" in the original page.
 * See also Criteria for page selection.

includemaxlength
Syntax:

Note: This parameter is only used in combination with ; truncation of included chapter contents is specified by adding a limit in sqauare brackets within the 'includepage=' statement.

includetrim
Syntax:    (default is false)

Note: This parameter is only useful in combination with.