老规矩,还是先看预览图
在做一个站的时候,需要一个对于文章的表态功能。虽然以前碰到过,但是一直没有亲自动手做过。今天找了很久DEDECMS心情评论插件也很多(包括GBK、utf8),各个版本都有。弄了很久没弄出来,仔细检查之后发现,代码有疏忽的地方,特在此整理供大家参考。
第一步:将解压后的mood文件夹上传至根目录的plus文件中。
第二步:在管理后台SQL命令运行器中运行以下命令:
CREATE TABLE `dede_mood` (
`id` int(11) NOT NULL auto_increment,
`aid` int(11) NOT NULL,
`mood1` int(10) NOT NULL default '0',
`mood2` int(10) NOT NULL default '0',
`mood3` int(10) NOT NULL default '0',
`mood4` int(10) NOT NULL default '0',
`mood5` int(10) NOT NULL default '0',
`mood6` int(10) NOT NULL default '0',
`mood7` int(10) NOT NULL default '0',
`mood8` int(10) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
CREATE TABLE `dede_mood_ranking` (
`id` int(11) NOT NULL auto_increment,
`aid` int(10) NOT NULL,
`mood` int(1) NOT NULL,
`time` int(11) NOT NULL,
`ip` varchar(15) NOT NULL,
PRIMARY KEY (`id`),
KEY `aid` (`mood`,`aid`,`time`,`ip`)
) ENGINE=MyISAM;
第三步:在文章内容页的<head>与</head>之间加入以下代码:
<!--Ray:mood code start-->
<script language='javascript' type='text/javascript'
src='{dede:global.cfg_cmsurl/}/include/dedeajax2.js'></script>
<script language="javascript">
function mood(){
var mood_obj = document.getElementById('_mood');
myajax = new DedeAjax(mood_obj,false,false,"","","");
myajax.SendGet2("/plus/mood/mood.php?aid={dede:field name='aid'/}&up="+10*Math.random());
DedeXHTTP = null;
}
function moodGet(mood)
{
var mood_obj = document.getElementById('_mood');
myajax = new DedeAjax(mood_obj,false,false,"","","");
myajax.SendGet2("/plus/mood/mood.php?aid={dede:field name='aid'/}
&action=mood&mood="+mood+"&up="+10*Math.random());
myajax = null;
}
</script>
<!--Ray:mood code end-->
第四步:在内容页模板中要调用心情投票的地方插入以下代码:
<!--Ray:mood code transfer start-->
<div id="_mood">数据统计中!!</div>
<script language="JavaScript">mood();</script>
<!--Ray:mood code transfer end-->
如果没有显示出来,请检查
数据库中表是否创建成功,检测<head></head>中JS路径是否正确。
另外介绍一种更为方便的在线运用的插件:搜狐畅言表情插件。如图