DERTOUR GroupDesign
Documentation
Guide contents
04Search results section 4 of 10

Sort, and 'your search'

The strip above the results: the removable pills showing what was searched for, the count, and the sort dropdown.

The entry you edit

Search results (Page)

Content type

Page


What makes it this section
Field = sort

A JSON object on the Page entry. The ranking is built into the site; the wording, the order and the availability are yours.

What a visitor sees

On the websiteLIVE
A strip of removable pills naming the searched destinations and airports, with a 'Sort by: Kuoni recommended' control and a SEARCH FILTERS button on the right.
The pills are the visitor's own search. The sort wording beside them is yours.
  1. 1

    Sort option label

  2. 2

    The default sort

  3. 3

    The pills — rebuilt from the search

  4. 4

    The filters button — not authored

What each field controls

The Field column is the label as it appears in Contentful; under it, the field's id, for talking to a developer. The number matches the marker on the screenshots above.

#FieldWhat it controlsNotes

Sort options

sort
The sort wording, its order, the default, and which tabs offer which sorts.

A JSON object: { "options": [ { "id", "label" } ], "default": …, "byTab": { … } }. A bare [ … ] of options is also accepted.

— options[].id

sort.options[].id
required
Which ranking the option applies.

A closed set — how each one ranks is built in, on the agreed position that the "tech config of how this works should be built in, wording of these should be configurable in CMS". An unknown id is dropped rather than guessed at. relevance is the Kuoni-recommended order.

Choose one of:
relevance
priceAsc
priceDesc
starAsc
starDesc
1

— options[].label

sort.options[].label
required
The wording in the dropdown.

e.g. "Kuoni recommended", "Price (low to high)".

2

— default

sort.default
Which sort is applied before anyone chooses one.

This is the wording shown on the control before anyone touches it, which is why the screenshot marks the same place twice.

Choose one of:
relevance
priceAsc
priceDesc
starAsc
starDesc

— byTab

sort.byTab
Which sorts each tab offers.

One list per tab id, e.g. { "hotels": ["relevance","priceAsc","starDesc"], "destinations": [] }. It exists because the three tabs are not comparable — star rating means something on Hotels and nothing on Destinations. An empty list means that tab offers no sort at all.

3

The pills

Nothing you can set.

They are rebuilt from the visitor's own search so they cannot disagree with it. Removing one re-runs the search without that criterion.

4

The SEARCH FILTERS button

Nothing you can set.

Its wording is built in; the number on it is how many filters are currently applied. What is INSIDE the drawer is yours — see Filters, next.

How to change it, step by step

  1. Open the search results Page entry

    Search Contentful for the Page entry whose Kind is "searchResults" and open it.

  2. Open the Sort options object editor

    This field is a JSON object, not a set of boxes. Contentful shows it as a code editor and checks nothing about what you type, so the shape below has to be exactly right.

  3. Edit the JSON, keeping the shape

    Change labels and order freely. Do not invent ids: an id the page has no code for is dropped, and the page records that it dropped it.

  4. Publish, then check the page

    Change status → Publish. If the field is malformed the page ignores it WHOLESALE and keeps its built-in copy rather than applying half of it — so a page that looks unchanged after publishing usually means a JSON error. /api/debug-fallbacks lists what fell back and why.


Previous section

Result tabs

Next section

Filters