繁体   English   中英

如何在Algolia中创建相对日期/时间过滤器(即“一天前”,“两天前”,“三天前”)?

[英]How can i create relative-date/time filter in Algolia (i.e. “a day ago”, “2 days ago”, “3 days ago”)?

在我的热门歌曲中,我有一个包含添加的道具..当我尝试对添加的日期进行过滤时,会出现常见日期列表。 我如何制作一个过滤器,说.. 1天前,2天前,1周前,等等。然后过滤结果。

因此,除了显示完整的日期列表作为过滤器之外,我还可以根据自己的需要对其进行个性化设置。

脚本:

//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. 

更新:我能够找到解决相对日期的解决方案,这是通过在阿尔戈利亚文档中找到名为usenumSelector的使用过滤器进行的。 情况是,我只需要复制旧应用程序中的相对日期。

这里是约束:

  • 使用相对时间/日期过滤器。
  • 不要在匹配中显示常用日期。
  • 使用下拉菜单。
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)}
        ]
      })
    );

daysBefore()是一个返回当前日期减去天数然后转换为linux时间戳的函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM