werkbot / werkbot-search
提供带有TNTSearch的搜索功能
2.0.4
2024-08-08 15:25 UTC
Requires
- php: ^8.0 || ^8.1
- ext-sqlite3: *
- silverstripe/cms: ^4 || ^5
- silverstripe/framework: ^4 || ^5
- symbiote/silverstripe-queuedjobs: ^4.12 || ^5.1
- teamtnt/tntsearch: v4.2.1
README
这是一个利用TNTSearch索引内容的silverstripe搜索模块。
安装
composer require werkbot/werkbot-search
需求
设置
将以下扩展添加到页面
Page::add_extension(SearchableExtension::class);
PageController::add_extension(SearchControllerExtension::class);
您需要运行 dev/build
在页面中定义getIndexQuery
需要为Page::class
定义一个getIndexQuery
函数。以下是页面的示例
/*
Get Index Query
Query used by search extension for indexing
*/
public function getIndexQuery(){
return "SELECT
concat(\"Page_\", SiteTree.ID) AS ID,
SiteTree.ClassName,
SiteTree.Title,
SiteTree.Content
FROM
Page
LEFT JOIN
SiteTree
ON
SiteTree.ID = Page.ID
WHERE
SiteTree.ShowInSearch = '1'";
}
这是一个简单的查询,由索引器用于索引您的内容。
此函数可以按需定制,也可以添加到DataObjects中。
外部库
默认情况下,这里使用的模板使用外部CSS库提供的类。我们建议安装两者以获得最佳体验
- Werkbot Framewerk (CSS库)
- Font Awesome 6 (图标类)