Filter relations enable you to control the filters that will affect the additional information returned by the filter in question.
To illustrate this, imagine that you have a choice filter that operates on the colors of your products. In addition to simply filtering out the data, the filter provides the list of choices with available colors, the count and the url parameters for every choice. This list is affected by other filters that are in use at any given moment. Therefore, if you also have a price filter set up, the available choices of your color filter will decrease when you limit the price range of the product list.
Relations describe the relationships between filters and allows you to alter this behavior. For example, you can set up the choice filter to ignore the price filter. If you do that, different ranges of the price filter will not affect the list of choices provided by the color filter, which in this case will always stay the same.
Relations can be specified in the
relations node of each of your filters in their
configuration. There are two types of relations:
search type controls what filters will affect the additional information that
is provided by the filter, much like in the use case example. The
on the other hand, controls what active parameters from the other filters go to
urlParameters and the
resetUrlParameters of the
returned by the filter. For more information visit the View Data chapter.
In addition, every type of relations must be set to either
the list of filters. Here is a full table of options:
|Includes only the selected filters to the choice list formation|
|Includes all filters except selected ones to the choice list formation|
|Includes the active parameters of only the selected filters to the url parameter formation|
|Includes the active parameters of all filters except selected ones to url parameter formation|
Example configuration of the color filter described earlier:
ongr_filter_manager: ... filters: color: type: multi_choice request_field: c document_field: color relations: search: exclude: - price ...