Drupal8.7.6自定义主题下,把系统区块search放置在指定位置,调试样式、重建缓存后,你会发现搜索关键词时,什么内容也搜索不出来。可以通过几下5个步骤解决搜索无结果的问题。
一、配置权限
默认情况下,匿名用户是没有权限访问/使用搜索页面的,可以在“扩展”中找到search模块,点下拉箭头——>权限,进入权限配置界面,给匿名用户访问search模块的权限,即在匿名列下勾选“Usesearch”。
二、重新索引
Drupal8.7.6默认情况下只索引系统自带的node与user,要想让自定义的节点与用户被索引,需要在“扩展->serach模块->配置”中点击“Re-indexsite”,根据提示重新索引站点。
三、运行任务
接下来,在“配置->cron”中点击“运行Cron”。到这一步,就可以按照drupal要求搜索出相关数据了。如果还是搜索不出结果,可以接着下面的操作配置。
四、设置字符
在“扩展->search模块”中设置Numberofitemstoindexpercronrun的参数为200,Minimumwordlengthtoindex的参数为1。然后保存配置,重建缓存。
五、调整样式
经过上述4步的操作,在前端页面就可以使用搜索功能搜索出相关结果了,但是样式是错乱的。此时根据debug提示,覆写相应模块,调试对应样式即可按照需求输出。
此外,需要补充说明的是,如果搜索结果不出来,可以多重复第2、3步,并重建缓存,一般可以解决搜索结果不出来的问题。