Parameters channel dynamically set values through the system for use by data sources and in the templating layer.
Parameters are attribute-value pairs that are made available to your Symphony project’s front end pages. They allow dynamically-set values to be channeled through the system for use by data sources or in the templating layer. Parameters are commonly used to filter data sources using dynamic values or to access contextual information (like the current date) from within page templates.
There are three types of parameters, grouped according to how their values are set. System parameters are generated by the system and contain useful contextual information such as the current date and time or the current page handle. Data source output parameters are created on the fly by a data source using values from a field in its result entries. URL Parameters are defined in a page’s configuration and their values are set dynamically in a its URL.
Collectively, the parameters available to a page are referred to as the “parameter pool.”
Parameters can be referenced in the data source editor—in filter rules, result limit settings, and pagination settings—using XSLT's attribute value template syntax: {$parameter-name}
.
Data sources also have a “”Required URL Parameter setting, but the syntax is slightly different. Because this setting refers to the parameter itself and not to its value, curly braces are not used: $parameter-name
.
Parameters can be referenced in page templates and utilities, either by using the attribute value template ({$parameter-name}
) or—because the parameter pool is included in a page's XML source—using XPath.
Parameter pool refers to all the parameters available to a page. These are accessible via the page environment (and used as described above), or—as of version 2.0.7—in the page's XML source.
Below is a listing of all global system parameters.
Parameter | Description | Example
--------- | ----------- | -------
today | The current date | 2009-11-30
current-time | The current time | 19:09
this-year | The current year | 2009
this-month | The current month | 11
this-day | The current day of the month | 30
timezone | The system timezone offset | +10:00
website-name | Website name as set in /manifest/config.php
. | Blue Ninja Bakery
page-title | The current page's title | The Ninja Way
root | Root URL of the installation | http://blue-ninja-bakery.com
workspace | URL of the worspace directory | http://blue-ninja-bakery/workspace
root-page | Handle of the highest-level ancestor to the current page | about
current-page | Handle of the current page | the-ninja-way
current-page-id | ID of the current page | 12
current-path | Path to the current page, exclusing root | /about/philosophy/the-ninja-way
parent-path | Path of parent pages | /about/philosophy
current-url | Full URL of the current page | http://blue-ninja-bakery/about/philosophy/the-ninja-way
upload-limit | Current site's upload limit as set in /manifest.config.php
| 5242880
symphony-version | Version of Symphony installed | 2.0.7
site-mode | Either "live" or "maintenance" depending on whether Maintenance Mode is enabled | live
cookie-username | Username of currently authenticated author, if applicable | admin
cookie-pass | Hashed password of the currently authenticated author, if applicable | -
<parameters>
<today>2009-11-30</today>
<current-time>19:09</current-time>
<this-year>2009</this-year>
<this-month>11</this-month>
<this-day>30</this-day>
<timezone>+10:00</timezone>
<website-name>Blue Ninja Bakery</website-name>
<symphony-version>2.0.7</symphony-version>
<upload-limit>5242880</upload-limit>
<root>http://blue-ninja-bakery.com</root>
<workspace>http://blue-ninja-bakery.com/workspace</workspace>
<page-title>The Ninja Way</page-title>
<root-page>about</root-page>
<current-page>the-ninja-way</current-page>
<current-page-id>12</current-page-id>
<current-path>/about/philosophy/the-ninja-way</current-path>
<parent-path>/about/philosophy</parent-path>
<current-url>http://blue-ninja-bakery/about/philosophy/the-ninja-way</current-url>
<cookie-username>admin</cookie-username>
<cookie-pass>7415346ecbf1c95e6894b23456a320e</cookie-pass>
<site-mode>live</site-mode>
</parameters>
The ?debug
interface, provided by the debug devkit extension, provides a list of all the parameters available to a given page and their assigned values.