使用 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();
});

这是一个很好的用例,我们会写一个完整的指南。如果这个答案已经是您问题的良好开端,请告诉我。