@queryOne

Supports all of the same mechanics as the @query tag but keeps only the first result.

Parameters

parameter required description
type the type of node to query for (definition QName)
sort the field to sort on
sortDirection the direction to sort in (either 1 for ascending or -1 for descending)
limit the number of records to return
fields comma separated list of property names to include in query results
skip a position to skip ahead to in the record set
scope if "page", then only relatives related to the current page will be returned
as specifies the name of the results variable (by default - rows)
field the name of a property to match against)
fieldRegex the match to run against the field)
fieldValue the fixed value to check against the field)
near geolocation coordinates to query around
locale the locale to use in retrieving content

Response

The result is a single content item. If multiple items are found in the query results, the first item is kept and it is passed to the template. is the JSON for the node.

Examples

Example #1: Single Restaurant

{@queryOne sort="title" skip="0" limit="5" type="custom:restaurant"}
   <div>
      <h3>@queryOne</h3>
      <p></p>
   </div>
{/queryOne}

Example #2: Single Restaurant with Thumbnail Image

{@queryOne sort="title" skip="0" limit="5" type="custom:restaurant"}
   <div>
      <h3>@queryOne</h3>
      <p></p>
      
      {#attachments.default}
         <img src="{preview64}">
      {/#attachments.default}
            
   </div>
{/queryOne}

Example #3: Single Restaurant (with Caching)

This example uses the cache parameter to cache the resulting HTML so that additional requests will render much more quickly (by avoiding the need to go over the wire to the API at all).

{@queryOne sort="title" skip="0" limit="5" type="custom:restaurant" cache="true"}
   <div>
      <h3>@queryOne</h3>
      <p></p>
   </div>
{/queryOne}