Plone5 livesearch功能

Plone5 livesearch功能

Plone5 livesearch功能的实现分成两部分:

  1. 前端UI及AJAX由mockup 采用Pattern方式完成
  2. 后端由Products.CMFPlone 包的browser子包下的search 模块的一个 名为ajax-search视图完成
    ...
      <browser:page
          name="ajax-search"
          class=".search.AjaxSearch"
          permission="zope2.View"
          for="plone.app.layout.navigation.interfaces.INavigationRoot"
          />
    ...
  3. livesearch默认设置参数
        defaults: {
          ajaxUrl: null,
          perPage: 7,
          quietMillis: 350,
          minimumInputLength: 4,
          inputSelector: 'input[type="text"]',
          itemTemplate: '<li class="search-result <%- state %>">' +
            '<h4 class="title"><a href="<%- url %>"><%- title %></a></h4>' +
            '<p class="description"><%- description %></p>' +
          '</li>',
        },
  4. 参数注释:ajaxUrl :接受ajax请求,完成查询,并将结果dump到前端的视图名称;perPage每页显示的结果条目个数;quietMillis 启动查询前等待的毫秒数;minimumInputLength输入至少多少个字后,开始发出查询请求;inputSelector提取搜索关键词的selector;itemTemplate 返回结果集合中每个条目的显示模板。
设置