To create a dynamic drop-down filter for a CMS list in Webflow (similar to what many directory or portfolio sites use), you'll need to combine native Webflow CMS capabilities with some custom JavaScript or third-party tools for advanced filtering.
1. Understand Webflow's Native Limitations
- Webflow CMS does not natively support multi-filtering (e.g., multiple categories or drop-down filters affecting a single CMS list).
- Webflow filters using collection page URLs or conditional visibility, which isn’t ideal for live filtering on the same page.
2. Prepare Your CMS and Collection List
- Create a CMS Collection with the items you’ll display (e.g., Projects, Products).
- Include fields you want to filter by, such as Category (Reference or Option), Location, Tags, etc.
- Add a Collection List to your Webflow page and bind it to this CMS Collection.
3. Add Drop-Down Filter Elements
- Create a Dropdown element in Webflow where users can select a filter value (e.g., Category).
- Populate the dropdown options:
- Manually: Add static options that match your CMS field values.
- Dynamically (Optional): Use a second Collection List connected to your Categories Collection to generate options.
4. Use Jetboost for Dynamic Filtering (Recommended Method)
- Jetboost is a third-party tool that integrates with Webflow to enable real-time CMS filtering using dropdowns and checkboxes.
- Steps:
- Sign up at jetboost.io.
- Add the CMS Filter booster.
- Follow Jetboost's onboarding to:
- Add the Jetboost script to your Webflow site.
- Use Jetboost-specific attributes and class names in your Webflow elements.
- Connect dropdown filters to specific CMS fields (like Category or Location).
- Jetboost handles the filtering logic and UI updates without needing custom code.
5. (Alternative) Use Custom JavaScript and Finsweet Attributes
- The Finsweet Attributes for CMS Filter is a free alternative to Jetboost.
- Visit https://finsweet.com/attributes/cms-filter and follow the setup guide.
- Key steps:
- Add the Finsweet script to your site.
- Add specific attributes (
fs-cmsfilter
, fs-cmsfilter-field
, etc.) to your Collection Lists and filter elements. - Finsweet dynamically filters your CMS list based on user selections in real-time.
6. Test and Publish
- Test your filtering on the Webflow staging link first.
- Ensure that selecting a dropdown value updates the list instantly.
- Once tested, publish your site to Webflow's live domain or your custom domain.
Summary
To build a dynamic drop-down CMS filter in Webflow, use Jetboost or Finsweet Attributes. Both provide tools to attach dropdown filters to CMS fields without custom JavaScript. Webflow alone can’t handle dynamic CMS filtering natively—third-party tools are essential for this functionality.