W3TPL/sysdata: Difference between revisions
< W3TPL
Jump to navigation
Jump to search
m (→Names: format tidying) |
(→Examples: third example, explanation) |
||
Line 32: | Line 32: | ||
<let name=pg_title val="@row.page_title" /> | <let name=pg_title val="@row.page_title" /> | ||
<let name=action val="@http.get.action" /> | <let name=action val="@http.get.action" /> | ||
<get val=@user.login /> | |||
</xml> | </xml> | ||
The first two lines set variables from sysdata; the third line just displays the sysdata value. | |||
==History== | ==History== | ||
* '''2010-09-11''' Finally some documentation; decided to deprecate @query and @post in favor of @http.* | * '''2010-09-11''' Finally some documentation; decided to deprecate @query and @post in favor of @http.* |
Revision as of 23:49, 17 March 2016
About
"Sysdata" syntax is a way of accessing various bits of information provided by the system under different circumstances. Any value prefixed with "@" will be treated as a reference to system data (yes, there are potential conflicts with this form... working on that; they are resolvable).
Names
- @title: information about the current page title
- .id: the article ID
- .full: namespace:subject
- .subject: just the part after the namespace and before any slashes (i.e. not the subpage name)
- .name: just the part after the namespace (including any subpages)
- .url: URL for the page
- @row: information about the current data row
- .name: name of the field (column) to access
- @mem: current memory usage, for debugging (this is a kluge and should probably be made more useful or eliminated)
- @user: information about the user currently viewing the page
- .login: user's login -- $wgUser->getName()
- .dbkey: user's login in URL format -- $wgUser->getTitleKey();
- .id: user's database ID -- $wgUser->getID();
- .can.action: user has permission to do specified action? -- $wgUser->isAllowed(action);
- .rights: user rights -- $wgUser->getRights(), converted to a prefix-separated list
- .email: user's email address, if known)-- $wgUser->getEmail()
- .name: user's full name, if known -- $out = $wgUser->getRealName();
- @query: DEPRECATED - use @http.get
- @post: DEPRECATED - use @http.post
- @http: information about the http request
- .get.name: value of $_GET["name"]
- .post.name: value of $_POST["name"]
- .req.name: value of $wgRequest->getVal(name)
- @env.name: value of $_ENV["name"]
- @sql: the last SQL statement executed by W3TPL (for debugging)
Examples
<xml> <let name=pg_title val="@row.page_title" /> <let name=action val="@http.get.action" /> <get val=@user.login /> </xml> The first two lines set variables from sysdata; the third line just displays the sysdata value.
History
- 2010-09-11 Finally some documentation; decided to deprecate @query and @post in favor of @http.*