跟随this issue。我想知道现在是否通过Algolia的即时搜索库支持砖石工程?
当前无法加载masonry属性。
谢谢
编辑-完整脚本
<script>
var hitTemplate = document.querySelector('#hit-template').textContent;
const search = instantsearch({
appId: '{{ craft.searchPlus.getAlgoliaApplicationId }}',
apiKey: '{{ craft.searchPlus.getAlgoliaSearchApiKey }}',
indexName: 'products',
urlSync: true
});
search.addWidget(
instantsearch.widgets.infiniteHits({
container: '#infinite-hits-container',
templates: {
empty: 'No results',
item: hitTemplate
},
showMoreLabel: 'Load More Deals',
hitsPerPage: 80
})
);
search.addWidget(
instantsearch.widgets.menu({
container: '#womensCategories',
attributeName: 'womensCategory.title',
limit: 50,
templates: {
header: 'Womens'
}
})
);
search.addWidget(
instantsearch.widgets.menu({
container: '#mensCategories',
attributeName: 'mensCategory.title',
limit: 50,
templates: {
header: 'Mens'
}
})
);
search.addWidget(
instantsearch.widgets.refinementList({
container: '#stores',
attributeName: 'retailer',
operator: 'or',
limit: 10,
templates: {
header: 'Store'
}
})
);
search.addWidget(
instantsearch.widgets.refinementList({
container: '#gender',
attributeName: 'gender',
operator: 'or',
limit: 2,
templates: {
header: 'Gender'
}
})
);
search.addWidget(
instantsearch.widgets.refinementList({
container: '#size',
attributeName: 'size.sizing',
operator: 'or',
limit: 20,
templates: {
header: 'Sizing'
}
})
);
search.addWidget(
instantsearch.widgets.numericRefinementList({
container: '#price',
attributeName: 'salePrice',
options: [
{name: 'All'},
{end: 20, name: 'less than 20'},
{end: 50, name: 'less than 50'},
{start: 50, end: 100, name: 'between 50 and 100'},
{start: 100, end: 300, name: 'Expensive'},
{start: 300, name: 'Very Expensive'}
],
templates: {
header: 'Price'
}
})
);
search.start();
</script>我已经编辑了上面的代码来包含我的完整脚本,我希望这足以添加答案。它只是在页面上使用一个容器进行初始化。
发布于 2017-07-17 15:25:54
您可以使用InstantSearch中的新连接器做到这一点,您将使用connectInfiniteHits在内部创建一个使用masonry的小部件,其中您可以完全控制DOM。
阅读更多信息:
https://stackoverflow.com/questions/45119875
复制相似问题