Drupal8在线留言功能的实现

  Drupal8.7.6系统自带了Contactforms实体,可以实现在线留言的的功能。但是,体验之后,感觉不太方便。经多次尝试,感觉webform这个第三方模块实现在线留言功能比较便捷,功能齐全,设置方便。
 
  一、 下载模块
 
  在drupal官网下载、安装并启用相关版本的webform模板。例如,drupal8.7.6版本就要下载https://www.drupal.org/project/webform/releases/8.x-5.6这个模块。
 
  不管是在线安装,还是下载到本地安装,都可能会出现安装不成功的情况。这个时候可以解压webform8.x-5.27压缩包,复制webform文件夹到htdocs\modules\目录下,然后在扩展中勾选webofrm、WebformUI等需要的功能,点install,最后记得启用即可。
 
  曾经尝试勾选所有功能,却发现了一个debug,就是在编辑字段时会自动、不断的添加其它元素。删除不相关的功能模块后,debug又自动消失了。
 
  二、配置参数
 
  成功安装模块后,在“结构”菜单下可以发现多了一个“webforms”的子菜单。点进去,就会看到系统默认提供的Contact在线留言表单。
 
  根据自己的需求,添加/减少相关类型的字段,或者设置相关字段的参数。点击Contact就会跳转到前端在线留言的界面,用户可以在该界面填写留言,例如:姓名、电话、邮箱、留言内容等等。
 
  三、设置权限
 
  如果前端用户无法看到留言界面,一般是权限的问题。在people菜单的permissions中找到webform实体,给予匿名用户访问表单的权限即可。
 
  四、调试模板
 
  到第三步,在线留言的表单数据已经可以从前端传递到后台了。接下来就是根据debug的提示,覆写对应页面模板、区域、字段。可以对每一个字段单独设置一个独立的模板,方便单独控制其样式。