Я пытаюсь предоставить параметр поиска Algolia с фильтром по значению атрибута. Например, из прикрепленного изображения необходимо отфильтровать данные по атрибуту города, а затем Algolia покажет результаты результатов в соответствии с выбранным атрибутом.
Magento Filer данные по атрибуту перед поиском algolia
Ответы (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();