General purpose Content fetch¶
This Query Type is used to build general purpose Location queries.
Identifier | SiteAPI:Location/Fetch |
Common Content conditions | |
Common query parameters |
Examples¶
Common Content conditions¶
content_type
¶
Defines ContentType of the Content by the identifier.
- value type:
string
- value format:
single
,array
- operators:
eq
,in
- target:
string
ContentType identifier - required:
false
- default: not defined
Examples:
# identical to the example below
content_type: article
content_type:
eq: article
# identical to the example below
content_type: [image, video]
content_type:
in: [image, video]
field
¶
Defines conditions on Content fields.
- value type:
integer
,string
,boolean
- value format:
single
,array
- operators:
eq
,in
,gt
,gte
,lt
,lte
,between
,like
,contains
- target:
string
Field identifier - required:
false
- default: not defined
Examples:
field:
date_field:
not:
gt: 'today +5 days'
price:
between: [100, 200]
not: 155
is_field_empty
¶
Defines conditions on whether the Content fields are empty or not.
Note
IsEmptyField
criterion is supported only by Solr search engine, so this condition can be
used only with the FindService
. In order to use it configure the query with parameter use_filter
set to false
.
- value type:
boolean
,null
- value format:
single
- operators:
eq
- target:
string
Field identifier - required:
false
- default: not defined
Examples:
is_field_empty:
image: false
video: true
# allow both empty and non-empty fields, which is also the default behaviour
is_field_empty:
audio: ~
creation_date
¶
Defines the creation (first publication) date of the Content as a timestamp or time string as accepted by PHP function strtotime.
- value type:
integer
,string
- value format:
single
,array
- operators:
eq
,in
,gt
,gte
,lt
,lte
,between
- target: none
- required:
false
- default: not defined
Examples:
# identical to the example below
creation_date: 1535117737
creation_date:
eq: 1535117737
# identical to the example below
creation_date: [1435117737, 1535117737]
creation_date:
in: [1435117737, 1535117737]
# multiple operators are combined with logical AND
creation_date:
gt: '29 June 1991'
lte: '5 August 1995'
creation_date:
gt: 'today'
creation_date:
between: ['-1 week 2 days 4 hours 2 seconds', 'today']
section
¶
Defines Section of the Content by the identifier.
- value type:
string
- value format:
single
,array
- operators:
eq
,in
- target: none
- required:
false
- default: not defined
Examples:
# identical to the example below
section: standard
section:
eq: standard
# identical to the example below
section: [standard, restricted]
section:
in: [standard, restricted]
state
¶
Defines ObjectState of the Content by the ObjectStateGroup and ObjectState identifiers.
Note
Content can only exist in single ObjectState from the same ObjectStateGroup.
- value type:
string
ObjectState identifier - value format:
single
- operators:
eq
- target:
string
ObjectStateGroup identifier - required:
false
- default: not defined
Examples:
# identical to the example below
state:
ez_lock: not_locked
state:
ez_lock:
eq: not_locked
# multiple states are combined with logical AND
# identical to the example below
state:
ez_lock: locked
approval: rejected
state:
ez_lock:
eq: locked
approval:
eq: rejected
Common query parameters¶
limit
¶
Defines the maximum number of items to return.
Note
This parameter will not be used if you execute the query from Twig using ng_query
function.
In that case Pargerfanta
pager is used with semantic parameters page
and max_per_page
.
To execute the query directly use ng_raw_query
Twig function instead.
- value type:
integer
- value format:
single
- required:
false
- default:
25
Examples:
limit: 10
offset
¶
Defines the offset for search hits, used for paging the results.
Note
This parameter will not be used if you execute the query from Twig using ng_query
function.
In that case Pargerfanta
pager is used with semantic parameters page
and max_per_page
.
To execute the query directly use ng_raw_query
Twig function instead.
- value type:
integer
- value format:
single
- required:
false
- default:
0
Examples:
offset: 20
sort
¶
- value type:
string
,SortClause
- value format:
single
,array
- required:
false
- default: not defined
Here you can use any SortClause implementation. However, if you define the query in the view
configuration, you won’t be able to instantiate the SortClause there. For that reason we provide a
way to define the sort clause as a string instead. We this format a subset of commonly used
SortClauses is supported. Sort direction is defined as asc
for ascending and desc
for
descending. In can be omitted, in which case it will default to asc
.
Strings can be used to define multiple sort clauses through an array of definitions:
sort:
- depth asc
- modified desc
Following sort clauses are available through string definition:
Location depth¶
String depth
enables sorting by Location’s depth:
sort: depth
sort: depth asc
sort: depth desc
Content Field¶
String in form of of field/[content_type]/[field]
enables sorting by any Content Field. For
example by Field with identifier title
in ContentType with identifier article
:
sort: field/article/title
sort: field/article/title asc
sort: field/article/title desc
Content modification date¶
String modified
enables sorting by the Content modification date:
sort: modified
sort: modified asc
sort: modified desc
Content name¶
String name
enables sorting by the Content name:
sort: name
sort: name asc
sort: name desc
Location priority¶
String priority
enables sorting by the Location priority:
sort: priority
sort: priority asc
sort: priority desc
Content publication date¶
String published
enables sorting by the Content publication/creation date:
sort: published
sort: published asc
sort: published desc