У меня есть функция, с помощью которой я создаю URL, например:
http://localhost/listings?q=&idx=content_index&p=0&dFR[objectID][0]=97&dFR[objectID][1]=96
. Он создает facetFilters: [["objectID: 97", "objectID: 96"]] "}. У меня есть всетакже функция, которая очищает все фильтры:
search.addWidget(
instantsearch.widgets.clearAll({
container: '#clearAll',
templates: {
link: '<i class="icon icon-undo2"></i>'
},
autoHideContainer: false,
clearsQuery: true
})
);
Это прекрасно работает и очищает вышеупомянутый фильтр также.Но проблема возникла, когда началась маршрутизация. С маршрутизацией,
http://localhost/listings?q=&idx=content_index&p=0&dFR%5Bgenres.name%5D%5B0%5D=Comedy
изменилось на:
http://localhost/listings?genres=Comedy
Внесены следующие изменения для вышеперечисленного:
routing: {
stateMapping: {
stateToRoute(uiState) {
return {
query: uiState.query,
// we use the character ~ as it is one that is rarely present in data and renders well in urls
genres:
uiState.refinementList &&
uiState.refinementList['genres.name'] &&
uiState.refinementList['genres.name'].join('~'),
page: uiState.page
};
},
routeToState(routeState) {
return {
query: routeState.query,
refinementList: {
'genres.name': routeState.genres && routeState.genres.split('~'),
},
page: routeState.page
};
}
}
},
Необходимо реализовать ту же функциональность для objectID. Как это сделать?