locomotivemtl / charcoal-contrib-search
Charcoal 搜索模块。
0.3.2.3
2024-06-10 16:04 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^6.0 || ^7.0
- locomotivemtl/charcoal-contrib-sitemap: >=0.2
Requires (Dev)
- php-coveralls/php-coveralls: ^2.2
- phpunit/phpunit: ^7.1
- squizlabs/php_codesniffer: ^3.5
README
A Charcoal service provider with my cool feature.
目录
安装
首选(也是唯一支持)的方法是使用 Composer
$ composer require locomotivemtl/charcoal-contrib-search
依赖项
必需
- PHP 5.6+: 推荐使用 PHP 7。
- guzzlehttp/guzzle: 6 或 7
- charcoal-admin: >=0.14
- charcoal-contrib-sitemap: >=0.1.5
配置
在你的项目配置文件中,需要引入搜索模块
{
"modules": {
"charcoal/search/search": {}
}
}
用法
该模块使用 GET 添加了一个 search 路由操作。你可以通过 http://project-url.com/search?keyword=[keyword] 访问。除非你运行 IndexContent 脚本,否则不会得到任何结果。
在运行脚本之前,你需要设置
// Once a day at midnight
// You need to precise the base URL as it won'T be provided by the cli
0 0 * * * cd /[project]/web && /usr/local/bin/php /[project]/web/vendor/bin/charcoal admin/search/index-content -u http://project-url.com/
要索引的每个 sitemap 对象必须包含 data.id 和 data.objType 才能被索引
{
"sitemap": {
"xml": {
"l10n": true,
"check_active_routes": true,
"relative_urls": false,
"objects": {…}
},
"searchables": {
"l10n": true,
"check_active_routes": true,
"relative_urls": false,
"transformer": "charcoal/search/transformer/indexable",
"objects": {
"app/object/section": {
"filters": {…},
"data": {
"id": "{{id}}",
"objType": "{{objType}}"
}
},
…
}
}
}
}
参数
-u(--url) 网站URL。由于这是在 cron 脚本中运行的,因此是必需的。-c(--config) Sitemap 构建器键(默认为xml)。-n(--no_index_class) 过滤掉爬取页面内容的类。默认为php-no_index。-i(--index_element_id) 要索引的爬取页面的元素 ID。默认为整个页面主体。
开发
API 文档
- 自动生成的
phpDocumentorAPI 文档可在以下位置找到:
https://locomotivemtl.github.io/charcoal-contrib-search/docs/master/ - 自动生成的
apigenAPI 文档可在以下位置找到:
https://codedoc.pub/locomotivemtl/charcoal-contrib-search/master/
开发依赖项
- [php-coveralls/php-coveralls][phpcov]
- [phpunit/phpunit][phpunit]
- [squizlabs/php_codesniffer][phpcs]
编码风格
charcoal-contrib-search 模块遵循 Charcoal 编码风格
- PSR-1
- PSR-2
- PSR-4,因此自动加载由 Composer 提供。
- phpDocumentor 注释。
- phpcs.xml.dist 和 .editorconfig 用于编码标准。
可以使用
composer phpcs执行编码风格验证/强制执行。还有一个自动修复器,可以使用composer phpcbf。
致谢
许可
Charcoal 根据 MIT 许可证授权。有关详细信息,请参阅 LICENSE。