DedeCMS会员中心能发布会员心情,有点像社交软件的说说,但会员中心并没有显示列表,只是显示最新的一个心情。网上也没有类似的教程,干脆自己来!参考会员中心的ajax加载最新文档、我的动态、全站动态这个功能,做了一个教程和大家分享一下。
DedeCMS会员中心首页有两个小BUG,如果你的CMS没有把“我的动态”、头像旁边的“我的心情”正常加载出来。
打开/member/templets/index.htm,“发表”下面的动态加载里增加“我的心情”选项卡,按照下面修改好。
修改后如下图:
(此图片来源于网络,如有侵权,请联系删除! )
直接点击“我的心情”是没有点击效果也没有任何内容显示,和Javascript的选项卡直接显示内容不同,里面的内容需通过ajax调用。
打开/member/templets/js/feed.js,找到
$("#mood").removeClass("thisTab"); //共有3处
三处代码下面增加
$("#xinqing").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)就不好了。可以对会员动态需要审核:后台-系统-系统基本设置-会员设置,“会员动态是否许需要审核”选择是。