2016-04-26 42 views
2

如何更改Algolia instantsearch.js统计模板? (X结果以Y m/s为单位)更改Algolia instantsearch.js统计模板

根据documentation可以通过options.template完成,但就是这样。哪些变量代表结果计数时间,也许还有其他变量?

什么是创建模板的最佳方式?

这是我到目前为止有:

instantsearch.widgets.stats({ 
    container: '#stats' 
}) 

最有可能我要补充:(?应该是什么变量)

instantsearch.widgets.stats({ 
    container: '#stats', 
    template: '#stats-template' 
}) 

,然后模板:

<script type="text/html" id="stats-template"> 
    <div data-reactroot="" class="ais-root ais-stats"> 
     <div class="ais-body ais-stats--body"> 
     <div> 
      {{number of hits}} hits found 
     </div> 
     </div> 
    </div> 
</script> 

回答

3

的模板Algolia的工作有点不同,这里有关于你的instantsearch.widgets.stats应该是这样的:

instantsearch.widgets.stats({ 
    container: '#stats', // Your stats container 
    templates: { 
    body: getTemplate('stats') // Template for displaying stats 
    } 
}) 

和模板:

hasManyResults, hasNoResults, hasOneResult, hitsPerPage, nbHits, nbPages, page, processingTimeMS, query

的更多信息:https://community.algolia.com/instantsearch.js/documentation/#stats

<script type="text/html" id="stats-template"> 
    <div data-reactroot="" class="ais-root ais-stats"> 
     <div class="ais-body ais-stats--body"> 
     <div> 
      {{nbHits}} products found 
     </div> 
     </div> 
    </div> 
</script> 

完整的,你可以在你的统计模板中使用的变量列表

+3

只是注意,这里使用的'getTemplate'方法不是instantsearch.js'的'一部分,似乎是一个自定义的辅助函数返回'script'标签的内容。 – pixelastic