Drupal8自定义主题下搜索功能的实现

  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步,并重建缓存,一般可以解决搜索结果不出来的问题。