Search.../

customizeQuery( )

Registers a hook that is called after a route is resolved by the data binding router, but before the wix-data query is executed.

Description

The customizeQuery hook is a data binding router hook that is triggered before the data query is executed for the pages in the specified router.

The customizeQuery() function is not a function that you call from your code. You define the function in a file named routers.js in the Code File's Backend section of the Velo Sidebar. The function is called as described above.

Use this hook to further refine or change the query that will determine what data is bound to your page's dataset. For example, you can filter the query to only return items that have a status field set to "active".

The function returns a WixDataQuery object. Typically the returned query is a modified version of the one the function received.

The customizeQuery() hook is triggered when using dynamic pages, but not when you code your own router.

Syntax

function customizeQuery(request: WixRouterRequest, route: string, query: WixDataQuery): WixDataQuery

customizeQuery Parameters

NAME
TYPE
DESCRIPTION
request

The routing request.

route
string

The resolved router URL pattern.

query

The wix-data query.

Returns

A wix-data query.

Return Type:

Was this helpful?

Customize query stub

This example creates a customize query hook on the myRouter prefix.

Copy Code
1// In routers.js
2
3export function myRouter_customizeQuery(request, route, query) {
4 // customize query code ...
5}
6
Filter query to return on active users

This example creates a customize query hook on the myRouter prefix that filters the query for a certain route to only query for active users.

Copy Code
1// In routers.js
2
3export function myRouter_customizeQuery(request, route, query) {
4 if (route === "/users/{name}")
5 return query.eq("status", "active");
6 else
7 return query;
8}
9