遇到帝国cms(ecms)评论模版竟然不能正常生成,还有评论验证码不能刷新的问题
后台评论列表文件是\e\admin\template\ListPltemp.php
修改评论模版文件是\e\admin\template\AddPltemp.php生成表单,然后又把数据发给ListPltemp.php处理
ListPltemp.php处理函数是function EditPlTemp
其中大概74行更新页面是用的函数GetPlTempPage($tempid);
这个函数我搜索了一下,是在\e\class\functions.php里面
这个函数的WriteFiletext($pl_filename,$plfiletemp);就是写入文件的,应该是这个出错了
function WriteFiletext函数是在\e\class\connect.php文件
评论模版文件在\e\data\filecache\template\pl1.php这个文件
然后测试了半天,没发现什么问题,就是死活写不进去文件
应该是在connect.php文件的写入函数的WriteFiletext里面的问题,
用另外一个函数就可以写入WriteFiletext_n,一个是把斜杠去掉,一个是没有去掉斜杠,去掉了就写不进去了,奇奇怪怪的问题
两个函数差别就是在$string=stripSlashes($string);//删除反斜杠
没办法,只能手工修改了一个pl1.php传了上去,先暂时用着先了,后台不能乱修改评论列表模版了,不然又把pl1.php给覆盖了,里面什么东西都没有,字数为0,前台评论界面就是空白了。
然后我仔细看了一下\e\pl\plfun.php这个文件,是评论相关的一些函数
在function AddPl增加评论的函数里有if(strlen($saytext)>$plsetr[‘plsize’])这个语句,明显是设置评论字数的,但是我在后台找了半天菜单都没有找到,正在我郁闷地想进数据库改的时候,不小心瞄了一眼“栏目管理”里的“管理评论”,之前只是拿来管理评论数据用的,没想到还有个二级菜单“其他管理”,里面有设置评论参数,汗颜,我一直以为参数这种东西应该在站点设置里,一直在那边找了好久,没想到是在这里
然后我发现我原来的模版验证码不能刷新,找了一下代码
增加onClick="this.src='/e/ShowKey/?v=pl&'+Math.random();" alt="看不清楚,点击刷新"
<img src="/e/ShowKey/?v=pl" align="middle" onClick="this.src='/e/ShowKey/?v=pl&'+Math.random();" alt="看不清楚,点击刷新"/>
注意v=后面的参数要和原来的一致