Faceted Navigation for Volto

Hello, I've already asked on #volto channel of discord about a possible add-on for Volto similar to the EEA Faceted Navigation for Plone, and I was recommended the EEA Semantic Search (if I understood correctly, it's under development).

Has anyone here worked with a custom search in Volto similar to the Faceted Navigation? May you share what you used?

I've seen the data catalogue of the EEA site which seems to be using Volto, and it's quite nice: Forest Information

@everton137 I'll try to provide a full picture, as things are complicated :slight_smile:

The EEA Semantic Search is under heavy development (it doesn't yet have Volto integration). I think we'll have something in Volto around this autumn.

The Forest data catalogue is not actually implemented with Volto, it's just integrated with it. It's an older service (yet extremely powerful) that's developed using JQueryUI.

Volto things that are available right now are:

There's also the option of skipping ElasticSearch and using the ListingBlock to create a "faceted navigation" block. I have some code ready, I'll be able to contribute this to Volto sometime in the next 2 weeks.

1 Like

Here's a block that can do a simple search with faceted navigation for Volto: volto-freshwater/src/components/blocks/SearchBlock at develop · eea/volto-freshwater · GitHub. That folder is self-contained, you can clone the repo and copy the whole SearchBlock folder to your own project. To get the block registered, you can do something like: (in your project's config.js):

import installSearchBlock from './SearchBlock';

export default applyConfig(config) { 
    return installSearchBlock(config);

We use this pattern, somewhat similar to Plone's <include package=".somefolder" /> to allow better localization of configs. In the end it can look pretty neat, like this: volto-freshwater/index.js at develop · eea/volto-freshwater · GitHub

1 Like

What's the best option for faceted search on Volto in 2022.
Are the options above still the best bets?

What's wrong with the default search block? For most use-cases it should be powerful enough.

Plone Foundation Code of Conduct