Overview

URL Parameters are parameters whose values are set dynamically in a page’s URL, and can be accessed by its template and its data sources. This makes pages incredibly dynamic, enabling a single page to power an endless number of views.

This very page, for example, sets a parameter in the last bit of its URL (url-parameters), which is then used to filter a data source that fetches the appropriate entry from the “Concepts” section. Every individual Concept view on this site is thus powered by a single page.

Usage

URL Parameters are defined in the admin interface, using the page editor (Blueprints > Pages > New or Blueprints > Pages > {Page Title}). Any number of URL parameters may be entered in the “URL Parameters” field, referenced by name and separated by forward slashes:

            
    param1/param2/param3
          

Parameter values are set dynamically when the page is called with additional values in its URL:

            
    http://yoursite.com/yourpage/value1/value2/value3
          

Within the context of that page, the parameters are then available to be used like any other parameter. See Parameters, Usage for details.

GET Parameters

Symphony will add GET parameters to a page’s parameter pool as well, though they are given a prefix. Appending ?greeting=hello to a page’s URL will add a parameter called $url-greeting to the parameter pool, with a value of ‘hello’.

Subpages

Note that subpage handles will override URL parameters, so in the example above, if a subpage of yourpage were created and given the URL handle page2, Symphony would interpret http://symphony.demo/yourpage/page2 as a request for the subpage, and not as an assignment of the string page2 to the URL parameter param1.

Details

URL parameters are sanitized when they’re pulled into the system. Spaces, for instance, are replaced with plus signs (and not trimmed, so consecutive spaces will result in multiple plus signs). Also, case is preserved.

The Big Picture

URL parameters are an integral part of building dynamic interfaces with Symphony.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details