Query Params

Query Params

{{ query_params }}

Object containing all of the query string parameters for the current page.

Name Type Description
is_valid Boolean Will always be true
by_index list A list of all of the query parameters in the order they appear in the URL. Each item in the list is the full query parameter - including both the key and the value. Note that this may include empty and/or duplicate query parameters
by_name object An object whose properties match the query parameters in the URL, including query parameters with empty values. If the same query parameter appears multiple times in the URL, the value will be a comma-separated list of all of the values for that key.
keys list A list containing all of the unique query parameter names
count Integer The number of unique query parameter names in the URL.
length Integer The total number of query parameters in the URL, including empty and duplicate query parameters
* String Specific query parameter values may be accessed using {{ request.query_params.parametername }} or {{ request.query_params['parameter-name'] }}
output String The full raw querystring from the request

You may treat the query_params object as a list containing all of the query parameters which may be iterated using a {% for %} loop.

The query_params object is copyable using the {% copy_to_dictionary %} method.

Examples

Getting request parameters and fetching blog_posts

Copy
{% assign var postsPerPage = 10 %} {% assign pageParam = 1 %} {% if request.query_params['page'] %} {% assign pageParam = request.query_params['page'] | to_int %} {% endif %} {% if request.query_params['tag'] and request.query_params['tag'] != "" %} {% assign tagFilter = request.query_params['tag'] | url_decode | downcase %} {% endif %} {% blog_posts assign posts = blog:"The Kitchen Essentials" tag:tagFilter limit:postsPerPage page:pageParam sort_by:"post_date" sort_direction:"desc" %} {% for post in posts %} {{post.title}} {% endfor %}

Convert a query parameter to a boolean value with a default value of true.

Convert to boolean

Copy
{% var show_buttons = request.query_params['show_btns'] | to_boolean | default:true %}

Convert a query parameter to an integer value with a default value.

Convert to integer

Copy
{% var limit = request.query_params['limit'] | default: 20 | to_int %}

Convert a query parameter to a number with a default value.

Convert to number

Copy
{% var average = request.query_params['average'] | default: 2.5 | to_number %}

Query Param Link

Copy
Original URL: "http://www.domain.com/path/to/page" Template: Page 2 Output: Page 2
{% var page = request.query_params.p | default:1 %} {% var limit = request.query_params.l | default:25 %} {% search set results request.query_params.q page:page limit:limit %}