Drupal8.7.6:用文章评论功能实现可上传图片的在线留言表单

  对企业站而言,不管是获取意向客户信息,还是用户与站长之间的联系,在线留言功能都是不二之选。
 
  白龙网研究发现,Drupal8.7.6自带Contactforms模块,可以实现类似在线留言的功能,但仅限于邮箱之间的信息传输。第三方模块webform可以方便的开发在线留言表单,自由添加需要的字段,后台查看、导出留言数据,但是无法收集图片信息(即没有图片类型的字段,无法上传图片)。
 
  研究发现,drupal8.7.6自带的文章评论功能(Commenttypes),经过简单的调试可以实现在线留言功能,而且包括图片类型在内的各种类型的信息都可以收集。唯一的缺陷是评论/留言数据无法一次性导出。
 
  一、评论类型
 
  打开“结构->评论类型”,我们发现系统自带一个默认的评论类型“Defaultcomments”,包含Author、Subject、Comment等3个字段,当然你也可以添加任意其它你需要的字段,并设置相应的样式。
 
  如果不喜欢默认的评论类型,可以在“结构->评论类型”添加一个自定义的评论类型,并根据需求添加相应的字段。
 
  二、设置权限
 
  所有匿名用户都是可以留言的,这是在线留言表单的基本诉求。默认情况下,drupal8.7.6的文章评论功能仅对注册用户/管理员开放。因此,要想把文章评论功能改造成在线留言功能,需要在“people->Permissions”菜单中为匿名用户设置如下3个权限:
 
  1.给予匿名用户发评论权限(Postcomments),即让匿名用户可以在线留言;
 
  2.解除非管理员用户(匿名用户、注册用户)访问评论权限(Viewcomments),即确保每个人的评论/留言只有管理员才有权限查看;
 
  3.给予匿名用户、注册用户使用编辑器的权限(UsetheBasicHTMLtextformat),即确保所有用户可以通过该字段上传图片内容;当然,也可以通过添加一个图片字段实现该功能。
 
  三、在线留言
 
  经过上述配置,匿名用户就可以在文章的底部看到在线留言表单了,添加一条留言,后台即可查看/编辑。
 
  四、查看数据
 
  在“Content->Comments”中查看前端面页的在线留言的文本数据;在“files”下可以查看在线留言的图片数据。
 
  五、模板修改
 
  默认情况下,文章评论/在线留言功能模块是出现在文章的底部的,可以根据debug提示,通过修改模板、变量等来改变文章评论、在线留言表单出现的位置与样式。