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 “{$Group}” 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$Title}” displays as “Markup Master Index”.

Default page variables

The page variables defined for PmWiki are:

{$Group} - page’s group name, as in “PmWiki”
{$Groupspaced} - spaced group name, as in “PmWiki
{$DefaultGroup} - default group name, as in “Main”
{$SiteGroup} - default group name for e.g. RecentChanges, as in “Site”
{$Name} - page name, as in “PageVariables”
{$Namespaced} - spaced page name, as in “Page Variables”
{$DefaultName} - name of default page, as in “HomePage”
{$FullName} - page’s full name, as in “PmWiki.PageVariables”
{$Title} - page title (may differ from Name), as in “Page Variables”
{$Titlespaced} - title/spaced page name, as in “Page Variables”
{$Description} - page’s description from the (:description:) markup

{$LastModified} - date page was edited, as in “March 29, 2006″
{$LastModifiedBy} - page’s last editor, as in “”
{$LastModifiedHost} - IP of page’s last editor, as in “″

{$PageUrl} - page’s url, as in “
{$Action} - page’s url action argument, as in “{Action}”

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

{$Author} - the name of the person currently interacting with the site, as in “”
{$AuthId} - current authenticated id, as in “”

{$Version} - PmWiki version, as in “pmwiki-2.1.5″
{$VersionNum} - The internal version number, as in “2001005″
{$ScriptUrl} - The url to the pmwiki script

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'] = "'$Skin'";

Defines new Page Variable of name $CurrentSkin, which can be used in the page with {$CurrentSkin} (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 {$WikiTitle} markup doesn’t quite follow the formula above. Instead you need to use

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

See also

« Page lists | Documentation Index | Markup master index »

Last edited by an anonymous user of Your Source for FAST Computer Training.   Page last modified on March 29, 2006

Legal Information |  Designed and built by Emergency Digital. | Hosted by Steadfast Networks