一、题外话(看官可直接跳过题外话,下拉后看正文教程。)
帝国cms是一个很牛b的网站管理系统!曾号称是:最安全、最稳定的开源CMS系统!尽管该系统诞生时间比较早,尽管现在有很多新的系统出现,但该系统仍宝刀不老!真心佩服其团队成员的技术!
帝国cms,曾帮助无数草根站长搭建了自己的网站,包括很多政府机构的网站也是使用其系统。这种乐于助人的行为值得我们学习与尊敬!
然而,艺灵却发现近段时间的帝国cms官网频出问题......
应该是上上周吧,我的qq上有一位新人加我。原来是复制了我网站的一个样式,然后他不会调整,后来我帮他调整好了。他告诉我:今天帝国cms挂掉了......
半信半疑的我打开帝国的官网,看到上面提示着:服务器空间出现问题等字样......
原来这是真的,当时猜测了下估计是服务器被攻击了。然后小感叹了一下:尽管系统很牛b,但服务器,呵呵......
后来又过了几天,再次去帝国官网的时候,发现已经可以正常访问了。
今天(2016-05-05号)上午,再次去帝国官网,官网又不能访问了。上面提示着:官方网站受到DDOS流量持续攻击,导致网站暂时无法正常访问...... 配图:
国内有很多提供免费资源的网站,如帝国cms、HBuilder官网等等。这些服务型网站却经常受到恶意攻击,国情啊!!!
作为一名“黑客”,不管处于什么目的,做事都应该有自己的原则吧!攻击这类网站有意思吗?......
废话不说了,还是来看看今天的教程吧。
二、让帝国cms文章页展现评论列表
使用过帝国cms的看官都知道,默认的文章页下方不会展现评论列表,如果想看评论列表,需要点击“共有n条评论”后才能看到评论。这对用户来说,显然不合理。很多看官都希望直接看到评论而不是需要再点击一次。
那怎么添加代码呢?我不会代码呀!
别急!我们先来分析下。评论属于公用的,应该在公用里面找。
2.1、调用评论js
好,带着猜测,我们去后台看看。步骤:点击模板--公共模板--评论JS调用模板--调用地址。配图:
至于这个对不对呢?我们要去实践才知道答案。
我们直接复制这个调用地址:<script src="http://www.yilingsj.com/e/pl/more/?classid=107&id=393"></script>
,然后点击公共模板变量--管理模板变量--修改评论表单--粘贴到最下面--提交。配图:
然后我们去前面页面看下效果,此时你会发现并没有生效!配图:
为什么没有生效呢???
没有生效是因为你没有更新数据!
2.2、更新内容信息
我们回到后台,然后依次点击模板--数据更新--勾选全部刷新--点击刷新所有信息内容页面。配图: 然后我们等待着全部更新完成。更新后我们再刷新前台页面可看到评论列表了,配图:
好了,现在文章页已经显示评论列表了,但没有回复功能!默认的列表页是有回复功能的,配图:
三、给帝国cms文章页新增“回复”功能
如何添加这个回复功能呢?这个,我们还得到后台模板中查找代码。
3.1、添加回复功能
步骤:进后台--模板--评论列表模板--管理评论模板--修改默认评论列表模板--复制回复那一行--公共模板--评论js调用模板--在“支持”上面粘贴刚才复制的代码--点击修改--然后执行刚才的更新数据。配图:此时我们再刷新前台页面即可看到“回复”了,配图:
看官以为这样就完了吗?
事情并没有这么简单!查看源码你会发现,这个回复并没有发挥作用,因为标签不识别!配图:
3.2、完善回复功能
这下怎么办呢?眼看着就要成功了,可在关键时刻掉了链子......
看官别急!既然评论列表中的回复功能还存在,那我们何不去看下列表页中的回复代码是什么呢?
完整回复代码
<a href="#tosaypl" onclick="javascript:document.saypl.saytext.value+='[quote][!--plid--][/quote]';document.saypl.repid.value='[!--plid--]';document.saypl.saytext.focus();">回复</a>
解释一下,上面黄色高亮的[!--plid--]
表示:评论ID,类似于楼层的意思。
我们直接复制上面的代码,然后替换我们评论js调用模板中(步骤见3.1)刚粘贴的回复代码,提交后记得更新数据这一步骤哦!
现在我们再来刷新前台页面,此时这个回复才起到了作用。但是,这里有一个小Bug。
3.3、回复功能bug
这个是系统本身自带的。说是bug,可能过于严重了点,准备来说应该是功能缺陷。看官多点击几次回复就会发现上面的文本域中一直在引用评论ID!不仅如此,即使是一次回复多个不同的楼主,也会这样,配图:
想必看官一定在猜想:此时提交后会展示什么?
那我们来张截图吧。配图:看到问题了吧。
怎么解决呢?
四、解决“回复”多人功能时出现的bug
最简单的方案就是:禁止多条回复,一次只能回复一人!
修改上面的回复代码
<a href="#tosaypl" onclick="javascript:document.saypl.saytext.value='[quote][!--plid--][/quote]';document.saypl.repid.value='[!--plid--]';document.saypl.saytext.focus();">回复</a>
然后看官把上面的代码按照前面的流程粘贴到评论js调用模板中(步骤见3.1),提交后更新数据即可。
当然了,如果看官执意想实现一次回复多人的功能,自己去修改php文件去吧!you can you up
!
五、结尾
如果看官想实现这个功能但又不能读懂文章的话,那就多读几遍,并到本地后台实战练习下。
经测试发现,帝国cms7.2版本也没有将文章中的功能添加进去,不知道在以后会不会添加进去。其实,添加进去也非常简单,不明白帝国那边的想法......
至于评论这里,还有一些教程,下次再分享吧。
本文出处:http://www.yilingsj.com/xwzj/2016-05-05/393.html