该 RenderFacetsOrder
操作用于按特定顺序渲染分面,并仅显示指定的分面。该 RenderFacetsOrder
操作具有以下属性
action
:要执行的操作。这必须设置为RenderFacetsOrder
。facetOrder
:要按指定顺序渲染的分面名称数组。
以下是 RenderFacetsOrder
操作的示例
{
"search_settings": {
"query_rules": [
{
"id": "1",
"conditions": [
[
// conditions here
]
],
"actions": [
{
"action": "RenderFacetsOrder",
"facetAttributesOrder": ["type", "actors"] // facet attributes.
}
]
}
]
}
}
要在前端使用 facetAttributesOrder
,您需要使用 DynamicFacets
组件。该 DynamicFacets
组件将按 facetAttributesOrder
属性中指定的顺序渲染分面,并隐藏所有其他分面。
以下是 DynamicFacets
组件的示例。在下面的示例中,DynamicFacets
组件将按 facetAttributesOrder
属性中指定的顺序渲染 type
和 actors
分面,并隐藏所有其他分面。
<DynamicWidgets maxValuesPerFacet={5} fallbackWidget={RefinementList}>
<Panel header="Type">
<RefinementList attribute="type" searchable={true}/>
</Panel>
<Panel header="actors">
<RefinementList attribute="actors" searchable={true} limit={10} />
</Panel>
<Panel header="imdbrating">
<NumericMenu
attribute="imdbrating"
items={[
{ label: '5 - 7', start: 5, end: 7 },
{ label: '7 - 9', start: 7, end: 9 },
{ label: '>= 9', start: 9 },
]}
/>
</Panel>
<Panel header="metascore">
<RangeInput attribute="metascore" header="Range Input" />
</Panel>
</DynamicWidgets>