ERROR: pat=/\@\{(.*?)\}\@/e Undefined variable: WikiTitleERROR: pat=/\@\{(.*?)\}\@/e Undefined variable: ScriptUrl
Warning: Cannot modify header information - headers already sent by (output started at /home/framakey/www/pmwiki.php:1472) in /home/framakey/www/pmwiki.php on line 1049
Framakey : PmWiki => Page-specific Variables Faire un don


authors (intermediate)
This page describes the “variables” that are associated with pages. Page variables have the form @$\'\'variable\'\'@, and can be used in page markup or in certain formatting strings in PmWiki. For example, the markup “[]” renders in this page as “PmWiki”.

Note that these variables do not necessarily exist in the PHP code, because they have to be determined for a specific page. (However, they are usable in FmtPageName strings.)

There is also the form @\'\'pagename\'\'$\'\'variable\'\'@, which returns the value of the variable for another page. For example, “[MarkupMasterIndex]” displays as “Markup Master Index”.

Default page variables

The page variables defined for PmWiki are:

[] - page’s group name, as in “PmWiki”
[] - spaced group name, as in “PmWiki”
[] - default group name, as in “Main”
[] - default group name for e.g. RecentChanges, as in “Site”
[] - page name, as in “PageVariables”
[] - spaced page name, as in “Page Variables”
[] - name of default page, as in “Index”
[] - page’s full name, as in “PmWiki.PageVariables”
[] - page title (may differ from Name), as in “Page-specific Variables”
[] - title/spaced page name, as in “Page-specific Variables”
[] - page’s description from the (:description:) markup, as in “Documentation for “variables” that are associated with pages.”
[] - date page was edited, as in “23 juin 2006 à 18h02″
[] - page’s last editor, as in “Pico”
[] - IP of page’s last editor, as in “12.33.45.37″
[] - Summary from last edit, as in “Supplied “as in” example for []”
Note: Enclose [] with [= and =] to avoid having PmWiki process any markup that may be contained in the summary.
[] - page’s url, as in “http://framakey.org/PmWiki/PageVariables
[] - page’s url action argument, as in “browse”

In addition to the above, there are some page-invariant variables available through this markup:

[] - the name of the person currently interacting with the site, as in “”
[] - current authenticated id, as in “” Please note the lower case ‘d’. [] returns nothing
[] - PmWiki version, as in “pmwiki-2.2.0-beta63″
[] - The internal version number, as in “2001963″
[] - The url to the pmwiki script, as in “http://framakey.org

Custom page variables

You may add custom page variables as a local customization. In a local configuration file or a recipe script, use the variable $FmtPV:

$FmtPV['$VarName'] = "'variable definition'";
$FmtPV['$CurrentSkin'] = '$GLOBALS["Skin"]';

Defines new Page Variable of name $CurrentSkin, which can be used in the page with [] (also for Conditional markup). It’s necessary to use the single quotes nested inside double-quotes as shown above (preferred) or a double-quoted string nested inside single-quotes like '"this"'.

Making a [] markup doesn’t quite follow the formula above. Instead you need to use

$FmtPV['$WikiTitle'] = '$GLOBALS["WikiTitle"]';

See also

« Conditional markup | Documentation Index | Markup master index »

QIs there a variable like $LastModified, but which shows me the creation time?

ANo, but you can create one in config.php. For instance:

# add page variable {$PageCreationDate} in format yyyy-mm-dd
$FmtPV['$PageCreationDate'] = 'strftime("%Y-%m-%d", $page["ctime"])';