使用 Algolia InstantSearch 在文本中单击关键字时发送过滤请求
Send a filtered request when clicking on keyword in text with Algolia InstantSearch
我正在为一个项目使用 Algolia Instant Search,但我在发送过滤后的请求时遇到了一个小问题。
这是我想做的一个例子,使用即时搜索示例页面之一:https://community.algolia.com/instantsearch.js/examples/e-commerce/
在此页面上,所有过滤器都在旁边,产品在主要内容块中。
在产品描述中,我想在关键字上添加 links,这些关键字在旁边用作过滤器。
例如,对于 Chopping board "LEGITIM"(左侧第一个产品),在描述中有关键字 "white"。我想,如果这个关键字是 link,那么当点击它时,它的操作就像点击旁边颜色选择器中的白色值。
我尝试使用 JQuery 触发函数并且效果很好,但仅适用于实际显示在过滤器中的值。
按照我的例子,白色值没问题(因为这个在颜色选择器中可用)但它不适用于黄色值。
有人有解决这个问题的想法吗?
最佳,
您可以像这样直接使用 algoliasearch-helper:
// bind the click event on the color name, then
$('.hits .color').click(function(ev) {
var color = $(this).data('color'); // given you store the color somehwere in a data-color attribute
search.helper.toggleRefinement('color', color); // search is your instantsearch instance
search.helper.search();
});
这是一个很好的用例,我们会写一个完整的指南。如果这个答案已经是您问题的良好开端,请告诉我。
我正在为一个项目使用 Algolia Instant Search,但我在发送过滤后的请求时遇到了一个小问题。 这是我想做的一个例子,使用即时搜索示例页面之一:https://community.algolia.com/instantsearch.js/examples/e-commerce/
在此页面上,所有过滤器都在旁边,产品在主要内容块中。 在产品描述中,我想在关键字上添加 links,这些关键字在旁边用作过滤器。 例如,对于 Chopping board "LEGITIM"(左侧第一个产品),在描述中有关键字 "white"。我想,如果这个关键字是 link,那么当点击它时,它的操作就像点击旁边颜色选择器中的白色值。
我尝试使用 JQuery 触发函数并且效果很好,但仅适用于实际显示在过滤器中的值。 按照我的例子,白色值没问题(因为这个在颜色选择器中可用)但它不适用于黄色值。
有人有解决这个问题的想法吗?
最佳,
您可以像这样直接使用 algoliasearch-helper:
// bind the click event on the color name, then
$('.hits .color').click(function(ev) {
var color = $(this).data('color'); // given you store the color somehwere in a data-color attribute
search.helper.toggleRefinement('color', color); // search is your instantsearch instance
search.helper.search();
});
这是一个很好的用例,我们会写一个完整的指南。如果这个答案已经是您问题的良好开端,请告诉我。