如何在Algolia中创建相对日期/时间过滤器(即“一天前”,“2天前”,“3天前”)?
问题描述:
在我的点击中,我有一个包含的道具添加了 ..当我尝试在添加日期时添加一个过滤器时,会出现常用日期列表。我如何制作过滤器,说.. 1天前,2天前,1周前等..然后筛选结果。如何在Algolia中创建相对日期/时间过滤器(即“一天前”,“2天前”,“3天前”)?
因此,而不是显示完整的日期列表作为过滤器,我可以根据我想要的个性化它。
脚本:
//Algolia Widget for Date Added.
search.addWidget(
instantsearch.widgets.menu({
container: '#added-menu',
attributeName: 'added',
limit: 10,
templates: {
header: 'Added'
}
})
);
//Date added will display the whole list of common dates.
答
更新:我能找到解决方案来处理相关日期,它是由algolia文档中找到名为numericSelector使用过滤器。情况是,我只需要复制我们在旧App中的相对日期。
这里的约束:
- 使用相对时间/日期过滤器。
- 不要在匹配中显示常用日期。
- 使用下拉菜单。
search.addWidget( instantsearch.widgets.numericSelector({ container: '#added-menu', attributeName: 'added', templates: { header: 'Added' }, operator: '>=', options: [ {label: 'Anytime', value: 0 }, {label: 'Today', value: daysBefore(1) }, {label: 'Within 3 Days', value: daysBefore(3)}, {label: 'Within 1 week', value: daysBefore(7)}, {label: 'Within 2 weeks', value: daysBefore(14)}, {label: 'Within 1 Month', value: daysBefore(30)}, {label: 'Within 3 Months', value: daysBefore(90)}, {label: 'Within 6 Months', value: daysBefore(183)} ] }) );
剩余天数() 是返回当前日期减去 的天数,然后转换为一个Linux时间戳的功能。
你应该尝试使用类似[moment.js](http://momentjs.com)的库。 –
谢谢。顺便说一句,我发现另一种解决方案它是像数字选择器一样添加过滤器。基于我们的旧应用程序,我们实际上需要一组特定的相对日期/月份。 – Johneric