adrexia/staticsearch

此包的最新版本(0.1)没有提供许可证信息。

静态搜索为静态发布的silverstripe网站提供了一种替代的搜索选项

安装: 95

依赖: 0

建议: 0

安全: 0

星星: 6

关注者: 0

分支: 2

开放问题: 1

语言:JavaScript

类型:silverstripe模块

0.1 2015-05-27 08:28 UTC

This package is auto-updated.

Last update: 2024-09-06 15:19:09 UTC


README

这是一个为在SilverStripe中使用Static Publish Queue模块而设计的Tipue搜索的实现。此实现使用Tipue搜索的静态模式。

此模块与以下内容兼容

  • 子站点(可选)
  • 静态发布队列(必需)

方法

  • 扩展SiteTree以添加生成可搜索字段数据的方法。如果需要,可以在页面级别覆盖这些方法。
  • 构建任务以为每个子站点生成json索引文件(存储在缓存目录中)。
  • 基本的Tipue JavaScript搜索实现,在静态模式下。
  • 搜索页面控制器以存储搜索结果(由JavaScript搜索填充)

JSON格式

{  
     "title": "page title",  
     "text":"Prepped page content",  
     "tags":"Taxonomy or meta description",  
     "loc":"Page URL"  
}

设置

获取代码

将此添加到您的composer.json文件中

"adrexia/staticsearch": "dev-master"

更新您的仓库

composer update

集成

将搜索表单添加到您的页面

<% include StaticSearchForm %>

在您的页面中包含StaticSearchRequirements在中。

<% include StaticSearchRequirements %>

如果您喜欢,将StaticSearchRequirements.ss复制到您的主题中,并用任何自定义文件覆盖。这些文件仅用于搜索页面本身。如果遇到任何搜索本身的问题,请阅读Tipue文档。它在设置方面可能有点特殊。

http://www.tipue.com/search/docs/

如果您想使搜索页面符合您的网站设计,请将SearchPage.ss复制到您的主题文件夹。在staticsearch/css/tipuesearch.css中提供了基本CSS。您可以直接使用它,也可以用您自己的CSS替换。

结果定制

生成json文件数据的生成方法位于staticsearch/code/extensions/StaticSearchSiteTreeExtension.php中。您可以在页面级别(例如在Page.php中)覆盖这些方法。您可能希望显示较小范围的数据,或者您可能想将数据对象作为页面上的内容进行索引。

这些方法可以在页面级别覆盖。建议如果您正在处理更大的静态发布网站,请使用标记系统(参见getSearchableTags())作为主要搜索机制,并将内容块限制为简单的摘要。

生成结果

运行BuildStaticSearchIndexTask以生成搜索_index.json文件(注意,静态发布队列任务必须至少运行一次以生成缓存本身)。

dev/tasks/BuildStaticSearchIndexTask

您可能希望将此任务设置为在您的实时网站上每天运行一次,以更新搜索索引。