website logo
⌘K
Introduction
PORTAL
Agency Whitelabelling
PAGES
Pages - Accessing Page Data
Pagination Layouts
Page Templates
FORMS
Form Confirmation Pages
Adding a Progress Bar
Adding Custom CSS To Show Form Submit Process
Dynamic Content in Workflow and Autoresponder Emails
How to output Custom Field Set fields in a Form's Custom Layout
Custom JavaScript Validation for Forms
File Upload Previews
FAQ
CATEGORIES
Filtering WebApps and Modules by Categories
Outputting Categories on WebApp / Module / eCommerce Layouts
Outputting Category Fields in any Location
Category Detail Layouts
FAQ
COMPANY INFORMATION
Company Information
SITE SEARCH
Site Search
PUBLIC API/ZAPIER
Zapier - Formatting arrays correctly
Public API/Zapier Changelog
MODULES
Module Marketplace
Building Custom Modules
Siteglide Modules
Front-end Submit Modules
DATA STRUCTURES
Automations
Creating WebApps from the CLI
Field Types
WEBAPPS
Front-end Submit WebApps
Layouts
Search and Filtering
Understanding Custom Field Names and IDs
FAQ
CRM
User Details
User Secure Zones
Storing User's Favourite WebApp / Module Items
User's Form Submissions (Cases)
How Users Edit their Email and Password Front End
Editing a User's CRM record Front End with Custom Field Sets
CLI
Introducing Siteglide CLI
CLI Changelog
Secure Zones with CLI
Page Templates with Siteglide CLI
Pages with Siteglide CLI
Includes with Siteglide CLI
Managing Email Templates
Migrate - Manual Form setup
Migrate - Convert existing Forms
Liquid
Accessing Assets
Liquid Dot Notation
Using WebApp Collections- Tutorial
Using the current_user object with Secure Zones
Preventing Duplicate Content with Query Parameters- Canonical URL and Robots.txt
FAQ
GraphQL
Tutorial Overview
About GraphQL
Tutorial 1- Your First Query
Tutorial 2 - Pagination
Tutorial 3 - Filtering the Results
Tutorial 3 - Answers to the First Filtering Challenge
Tutorial 4 - Advanced Filtering
Tutorial 4 - Challenge Answers
Tutorial 5 - Using Liquid to run GraphQL queries on your Site
Tutorial 6 - Variables
Tutorial 6 - Answers to the Variables Challenge
Tutorial 7 - Sorting
Tutorial 8 - Building a Liquid API GET Endpoint Page powered by GraphQL queries
Best Practice and Performance
Module/WebApp Caching
Getting Started with Liquid Caching - to Reduce Server Response time and Improve Performance
Includes
ecommerce/checkout_standard
Frequently Asked Questions
Using Liquid Logic to Check if a field exists, or is empty on the Front End
How do I learn more about Liquid?
How to setup a multi domain start page
Docs powered by archbee 
18min

Searching - Advanced Filtering

How to use the use_adv_search parameter in the WebApp include tag, along with a URL parameters, to search for within specific fields of an item.

Prerequisites

  • You have created a WebApp
  • You have added a WebApp List View to a Page

Introduction

Advanced search allows you to use AND or OR logic to filter WebApp items by specific fields.

If you are looking to search for WebApp items which match any of your search terms in any of their fields using OR logic, see Searching - Keyword.

Steps

  1. Identify the IDs of the Custom Fields that you want to filter by
  2. Add the use_adv_search parameter to WebApp include tag
  3. Setting the match type for String fields
  4. Setting the match type for Array fields
  5. Test by adding a URL query parameter
  6. Build a form to allow Users to enter a search query

Step 1 - Identify the IDs of the Custom Fields that you want to filter by

In the database, each field has an ID that is different from their user-friendly name. In order to use the advanced search, you will need to know the ID of the field. You can learn more about why we use Custom Field IDs and how to find the one you need for a WebApp or Module here: Custom Field IDs  Once you've checked that Article and found the ID of the Custom Field you need, you can move on to Step 2.

Step 2 - Add the use_adv_search parameter to WebApp include tag

HTML
|

Step 3 - Setting the match type for String fields

Let's work with a field ID of webapp_field_1_1. You have 2 options for setting the match type when searching:

  • AND (default) - The search will return exact matches for the search term it receives
  • OR - The search will return results where there is a match on any of the search terms it receives. These terms are comma separated.
    • For example, if we have webapp_field_1_1=content 1,content 2&webapp_field_1_1_match_type=OR then we will be looking for items where webapp_field_1_1 is either equal to 'content 1' OR 'content 2'.

You can find what type your fields are here.

Step 4 - Setting the match type for Array fields

Let's work with a field ID of webapp_field_1_2. You have 2 options for setting the match type when searching:

  • AND (default) - The search will return items that contain all search terms. These terms are comma separated.
    • For example, if we have webapp_field_1_2=option1,option2&webapp_field_1_2_match_type=AND then we will be looking for items where webapp_field_1_2 contains both 'option1' AND 'option2'.

  • OR - The search will return results where there is a match on any of the search values it receives. These terms are comma separated.
    • For example, if we have webapp_field_1_2=option1,option2&webapp_field_1_2_match_type=OR then we will be looking for items where webapp_field_1_2 contains either 'option1' OR 'option2'.

You can find what type your fields are here.

Step 5 - Test by adding a URL query parameter

Now use_adv_search has been added, Siteglide is watching the query parameters for any parameters with a key including "field_". It will use these to carry out the search when the page is loaded, so it can display the WebApp items which match. To see how the filter works, start by manually adding parameters to the URL in your browser. Remember the example Custom Field ID and keyword is unlikely to be found in your unique WebApp, so choose something you know is there! You should see your WebApp's results adjust as only items which match are returned.

Example 1

https://my-website.staging.oregon.platform-os.com/webapp-list?webapp_field_1_1=my%20search%20terms

Example 2

https://my-website.staging.oregon.platform-os.com/webapp-list?webapp_field_1_2=option1,option2&webapp_field_1_2_match_type=OR

Step 6 - Build a form to allow Users to enter a search query

You can now build an input form to pass the user's chosen keywords as parameters to the URL.

Updated 12 Jan 2022
Did this page help you?
Yes
No
UP NEXT
Searching by location - Full example
Docs powered by archbee 
TABLE OF CONTENTS
Prerequisites
Introduction
Steps
Step 1 - Identify the IDs of the Custom Fields that you want to filter by
Step 2 - Add the use_adv_search parameter to WebApp include tag
Step 3 - Setting the match type for String fields
Step 4 - Setting the match type for Array fields
Step 5 - Test by adding a URL query parameter
Step 6 - Build a form to allow Users to enter a search query