DEDECMS动态JS调用评论次数

Sunday, September 19, 2010 吉光片羽 4

官方有JS调用文章点击查看次数的方法,今天在完善DEDEEIMS模板评论调用的时候,发现了评论次数不会实时更新的问题。因为采用的是{dede:field.scores/}标签,只有在文章重新生成的时候才会更新数据。而这次案例评论是在内容页AJAX调用的,也就是说用户评论完以后新评论会同时出现,而评论次数自然也要累加,所以就根据查看次数的代码弄了个评论次数的JS调用,东西不难,但也不知道有么有问题,总之能正常使用,希望对使用DEDECMS的朋友能有所帮助。

废话不多说,直接上代码,其实就是根据 count.php 的简化:
输出评论次数PHP代码
<?php
require_once(dirname(__FILE__)."/../include/common.inc.php");
if(isset($arcID))
{
  $aid = $arcID;
}
$arcID = $aid = (isset($aid) && is_numeric($aid)) ? $aid : 0;
if($aid==0)
{
  exit();
}
$row = $dsql->GetOne(" Select scores From `#@__archives` where id='$aid' ");
if(is_array($row))
{
  echo "document.write('".$row['scores']."');\r\n";
  //JS输出评论数 by 吉光片羽
}
exit();
?>
不知道这段代码还能否继续简化,如果可以,麻烦评论告知,谢谢!将代码复制,粘贴到记事本中(如不能正常使用,请使用DW等编辑器保存),另存为 scores.php 到网站根目录的 plus 文件夹。

之后在内容页模板中的需要显示评论的地方插入如下JS代码:
内容页评论JS调用代码
<script src="{dede:field name='phpurl'/}/scores.php?aid={dede:field name='id'/}" language="javascript"></script>

如果在列表中也要显示实时评论次数,则可以插入如下JS代码:
列表页评论JS调用代码
<script src="{dede:field name='phpurl'/}/scores.php?aid=[field.id/]" language="javascript"></script>
如果列表太长,不知道会不会影响效率,如果不是很必要或严重印象了速度,建议不要考虑使用此方法,而改用[field:scores/]标签即可。

如果你正好需要实时调用评论数,却又不知道该如何是好,不妨就试试吉光片羽的这个方法吧,而且这只是一个起点,你可以做得更好些,就比如吉光片羽在自己的DEDEEIMS模板中使用的都是AJAX调用查看和评论次数,这个好处就在于,如果客户端不支持JS,或者页面出现意外错误,页面中还能正常显示最近一次生成后的查看和点击次数,以下提供一点思路,希望对有兴趣的朋友能有所启发:

点击:<span id="views-{dede:field name='id'/}-{dede:field name='mid'/}">{dede:field.click/}</span>
评论:<span id="cmtnum">{dede:field.scores/}</span>

回复超过30个,吉光片羽就会为大家提供这种方法的实现方式。

这个动态JS调用评论次数的方法我只在DEDEEIMS上实现了,相信DEDECMS同样适用,如果有任何问题,欢迎评论提出,谢谢!

点击这里获取该日志的TrackBack引用地址

日志标签: Dede  EIMS  CMS  网站  模板  JS  评论  调用  代码  分享  

已有人对此文发表了评论

  1. 引用该评论 瓜瓜 10/13/2010 3:02:12 AM 回复
    额,我一般用dede做的都是小企业站,不用评论,以后可能会用到~
    吉光片羽 于 2010-10-17 15:15:20 回复

    看看用DEDE做了不少单啊,有机会交流学习下!

  2. 引用该评论 阿修罗 10/12/2010 4:25:16 PM 回复
    又是代码,不太懂,呵呵!
    吉光片羽 于 2010-10-17 15:14:44 回复

    呃,用同学的一句经典,也非常适用于当今社会,“太懂不太好”,嘿嘿。有兴趣的话,可以慢慢学的,加油。

  3. 引用该评论 uggaustralia 9/20/2010 1:05:34 PM 回复
    JS代码就是强大!
    吉光片羽 于 2010-9-20 14:04:49 回复

    我可以理解成是在夸我不? ^,^y

    uggaustralia 于 2010-9-21 12:24:42 回复

    呵呵 你也很强大!

  4. 引用该评论 石头 9/20/2010 12:27:00 PM 回复
    完全从数据库读取都不用考虑缓存一下?
    吉光片羽 于 2010-9-20 14:01:57 回复

    呃,根据官方的查看次数直接改过来的,缓存不懂怎么弄 ·。·b

发表评论:

邮箱网址为选填;若您注册了GRAVATAR,请填写邮箱(不会公开),否则最好不填,您可在提交评论前选择表情头像;点击他人头像可引用其评论。插入UBB

About me

Name: KandyTang
Age: 30-
Location: Guilin, China
QQ: 121885959
Email: KandyT@qq.com

My Works

中文酷博聚合 汽车手绘·视频·教程 史努比(中文)网 免费的PJBlog皮肤 淘宝创意导购 桂林{摄影}品牌

Gallery

Unnamed Album

Unnam... (4)

复线文字LOGO设计

复线文字L... (10)

订书钉的创意-微型城市

订书钉的创... (4)

2010元宵烟火

2010元宵烟火 (7)

国外贺卡设计欣赏

国外贺卡设计欣赏 (20)