FamilyHQ Sign out Sign in

Query string variables

Accept URL query parameters as TT variables in a page.

Query string variables

Declare which query parameters a page accepts in front matter. Declared parameters are URL-decoded, HTML-escaped, and made available as TT variables via the query hash. Undeclared parameters are silently ignored.

Syntax

---
title: Search
query_params:
  - q
  - page
---
[% IF query.q %]
Searching for: [% query.q %]
[% END %]

Declaring parameters

Use a YAML list under query_params: in front matter:

---
query_params:
  - name
  - color
---

Accessing in TT

Parameters appear in the query hash:

[% query.name %]
[% query.color %]

Example

---
title: Greeting
query_params:
  - name
---
[% IF query.name %]
Hello, [% query.name %]!
[% ELSE %]
Hello, visitor!
[% END %]

Request /greeting?name=Alice renders "Hello, Alice!".

Security

Caching behaviour

Pages with active query parameters (a declared parameter is present in the request URL) are rendered dynamically on each request and the result is not cached. Requests without query parameters still serve from cache normally.

Notes