Reference

param()

Returns a single param from the URL

param(string $key, string $fallback = null): string|null

Parameters

Name Type Default Description
$key string
$fallback string null

Return type

string|null

Examples

Besides with URL query variables, you can set parameters via URL in Kirby in a more human-readable way:

http://yourdomain.com/blog/tag:mytag/year:2018

Note that you have to use a semicolon instead of a colon on Windows systems. In your code, you can use the Url::paramsToString() method to make sure that the resulting URL is compatible with both Linux and Windows servers.

Those parameters are very handy when you want to build URL-based filters for your content.

Such parameters will be ignored by the router so the URL which will be fetched by Kirby in this case is http://yourdomain.com/blog.

The parameters can be fetched in templates, snippets or controllers like this:

$tag  = param('tag');
$year = param('year');

You can define a fallback value if a parameter is not set:

$tag  = param('tag', 'design');
$year = param('year', 2018);

Source code

kirby/config/helpers.php#L501