DedeCMS会员中心能发布会员心情,有点像社交软件的说说,但会员中心并没有显示列表,只是显示最新的一个心情。网上也没有类似的教程,干脆自己来!参考会员中心的ajax加载最新文档、我的动态、全站动态这个功能,做了一个教程和大家分享一下。
DedeCMS会员中心首页有两个小BUG,如果你的CMS没有把“我的动态”、头像旁边的“我的心情”正常加载出来。
打开/member/templets/index.htm,“发表”下面的动态加载里增加“我的心情”选项卡,按照下面修改好。
<li id="xinqing"><a href="javascript:void(0)">我的心情</a></li> <li id="arcticle"><a href="javascript:void(0)">最新文档</a></li> <li class="thisTab" id="myfeed"><a href="javascript:void(0)">我的动态</a></li> <li id="allfeed"><a href="javascript:void(0)">全站动态</a></li>修改后如下图:
直接点击“我的心情”是没有点击效果也没有任何内容显示,和Javascript的选项卡直接显示内容不同,里面的内容需通过ajax调用。
打开/member/templets/js/feed.js,找到
$("#mood").removeClass("thisTab"); //共有3处
三处代码下面增加
$("#xinqing").removeClass("thisTab");
在代码的最下面增加
//我的心情按钮 $(function(){ $('#xinqing').click(function() { $.ajax({ type: "GET", url: "feed.php?type=xinqing", dataType: "json", success : function(data){ $('#FeedText').empty(); var html = ''; $.each( data , function(commentIndex, comment) { html += '<div class="feeds_title"><span><a href="/member/index.php?uid='+ comment['userid'] +'">'+ comment['userid'] +'</a>' + comment['msg'] + ' <em>'+ comment['dtime'] + '</em></span><p>' + '</p></div>'; }) $('#FeedText').html(html); $("#xinqing").addClass("thisTab"); $("#myfeed").removeClass("thisTab"); $("#allfeed").removeClass("thisTab"); $("#arcticle").removeClass("thisTab"); } }); }); })
注意到“feed.php?type=xingming”,这里ajax请求需要增加一个type参数值xingming。
打开/member/feed.php,找到
//选择数据库
增加一个else if条件,继续找到
else {
require_once(DEDEINC.'/channelunit.func.php');
在这段代码前增加下面代码
else if ($type=="xinqing"){ $sql="SELECT * FROM `dede_member_msg` where mid='".$cfg_ml->M_ID."' ORDER BY dtime DESC limit 8"; $dsql->SetQuery($sql); $dsql->Execute(); while ($row = $dsql->GetArray()) { if($cfg_soft_lang == 'gb2312') { $row['userid'] = gb2utf8($row['userid']); $row['msg'] = gb2utf8(htmlspecialchars_decode($row['msg'],ENT_QUOTES)); $row['dtime']= gb2utf8(FloorTime(time()- $row['dtime'])); }else{ $row['userid'] = gb2utf8($row['userid']); $row['msg'] = htmlspecialchars_decode($row['msg'],ENT_QUOTES); $row['dtime']= FloorTime(time()- $row['dtime']); } $feeds[] = $row; } }
这样会员中心就能把我的心情加载出来啦。
对会员心情还应该有删除功能,有兴趣的童鞋可以参考一下“我的动态”的删除方法。另外“我的心情”不建议全站动态显示,这样给一些会员乱发心(lao)情(sao)就不好了。可以对会员动态需要审核:后台-系统-系统基本设置-会员设置,“会员动态是否许需要审核”选择是。