织梦DEDECMS会员中心调用会员心情列表的方法

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)就不好了。可以对会员动态需要审核:后台-系统-系统基本设置-会员设置,“会员动态是否许需要审核”选择是。