zblog自带的评论模块有“名称”、“邮箱”、“网址”和“内容”四个选项可以填写,有很多用户会有这两个问题:
zblog评论模块的邮箱和网址可以解除限制吗?
可以换成别的选项吗?
最近帮一个用户测试了下这个问题,最后的答案是“不能”。
你只能让这两个选项不显示,或者显示了不填写也行(因为不是必填项),但是你要把这两项弄成别的就过不了检测验证限制这一关了,详细如下:
首先评论模块的模板文件是“commentpost.php”,可以直接修改里面邮箱和网址两个选项的提示,也可以让这两个选项不显示,但是就算你修改了系统还是会有验证的。
邮箱里面填写的内容如果不是邮箱地址就会弹出提示;
网址里面填写的内容也会自动给你加上“http//”头;
所以就算你把这两个选项改成其他作用,例如把邮箱改成了电话,但是用户填写了电话号码会被提示“邮箱格式不正确,可能过长或为空”。这就很尴尬了对吧。
我们在测试的时候发现这个限制在“/zb_system/script/c_html_js_add.php”这个文件里面,但是,但是:
这个文件里面的是前端的js限制,就算你修改了这个文件里面的限制,后端还有一重检测限制...
不得不说这个检测限制是很严格的了。
如果你铁了心要去除后端的限制那也不是不可以...
但是我们更建议用挂接口的方式新建其他字段来实现这个功能。
官方教程如下:
1:挂上Filter_Plugin_Html_Js_ZbpConfig接口
输出
echo "zbpConfig.comment.inputs.telphone = {selector: '#inpTel' , required: true};";elphone就是提交时的$_POST的参数名,#inpTel就是表单名
2:提交评论后,就进入了PostComment()函数处理了
挂上Filter_Plugin_PostComment_Core接口
在自己的处理函数中,保存$_POST表单的数据进$cmt
$cmt->Metas->Telphone = $_POST['telphone'];
原文地址:https://bbs.zblogcn.com/thread-103010.html。
PS:这个比较复杂,需要一点水平!(猪说的)。