Magento Filer данные по атрибуту перед поиском algolia

Я пытаюсь предоставить параметр поиска Algolia с фильтром по значению атрибута. Например, из прикрепленного изображения необходимо отфильтровать данные по атрибуту города, а затем Algolia покажет результаты результатов в соответствии с выбранным атрибутом.

Нажмите здесь, чтобы увидеть изображение


person Ramesh    schedule 02.08.2016    source источник


Ответы (1)


Сначала вам нужно добавить поле выбора с атрибутом поиска перед вводом поиска. Я предполагаю, что вы используете расширение Magento от Algolia. Если это так, вам нужно поместить поле выбора в файл autocomplete.phtml (если вы используете селектор окна поиска по умолчанию) или в шаблон вашей темы (если вы изменили селектор окна поиска в настройках Algolia в администрировании Magento).

Затем, если вы хотите сделать это на странице результатов мгновенного поиска, вы можете использовать searchFunction для ограничения доступных для поиска атрибутов:

var search = instantsearch({
  [...],
  searchFunction: function(helper) {
    var searchableAttribute = $('selectbox-selector').val(); // Using jQuery just for example
    helper.setQueryParameter('restrictSearchableAttributes', searchableAttribute);

    helper.search();
  }
}

Инициализацию мгновенного поиска вы можете найти в Instantsearch.phtml шаблон.

Если вы хотите обновить результаты в меню автозаполнения, вам нужно будет установить параметр restrictSearchableAttributes для источника данных автозаполнения. Источники данных определены в commonjs.phtml. Дополнительную информацию об источниках данных автозаполнения вы можете найти в документации autocomplete.js.

Пример обновления данных продукта источник:

options.facets = ['categories.level0'];
options.numericFilters = 'visibility_search=1';
options.restrictSearchableAttributes = $('selectbox-selector').val();
person Jan Petr    schedule 05.08.2016