phpcms2008关于文章评论的是能够显示头像的方法介绍,这个技巧需要修改PHPCMS的源文件,修改的时候注意备份原文加。效果如下图

找到comment/include/comment.class.php文件
找到
function get_list($keyid, $page = 1, $pagesize)
{
global $MODULE;
$keyid = trim($keyid);
$page = max(intval($page), 1);
$offset = $pagesize*($page-1);
$comments = array();
$count = cache_count(“SELECT COUNT(*) AS `count` FROM `$this->_comment_table` WHERE `keyid`=’{$keyid}’ AND `status`=’1′”);
$comments['pages'] = pages($count, $page, $pagesize);
$ip_area = load(‘ip_area.class.php’);
$result = $this->db->query(“SELECT `commentid`,`username`,`support`,`against`,`ip`,`addtime`,`status`,`content`, `userid` FROM `$this->_comment_table` WHERE `keyid` = ‘{$keyid}’ AND `status` = ’1′ ORDER BY `addtime` DESC limit $offset,$pagesize”);
while($r = $this->db->fetch_array($result))
{
//$r['content'] = preg_replace_callback(“/\[smile_[0-9]{1,3}\]/”, ‘smilecallback’, $r['content']);
$r['content'] = str_replace( ‘‘, ‘<div>’, $r['content']);
$r['content'] = str_replace( ‘[blue]‘, ‘<div href=”#” class =”blue”><p>’, $r['content']);
$r['content'] = str_replace( ‘‘, ‘</div>’, $r['content']);
$r['content'] = str_replace( ‘[/blue]‘, ‘</p></div>’, $r['content']);
$r['addtime'] = date(‘Y-m-d H:m:s’,$r['addtime']);
list($r['ip_area'], ) = explode(‘ ‘, $ip_area->get($r['ip']));
$r['ip_area'] = $r['ip_area'].’网友’;
$r['ip'] = preg_replace(“/^([0-9]{1,3}\.[0-9]{1,3})\.[0-9]{1,3}\.[0-9]{1,3}$/”, “\\1.*.*”, $r['ip']);
//$r['ip'] = $r['ip'].’:’;
$userid = $r['userid'];
if(!$r['userid'])
{
$r['url'] = ‘:’.$r['username'];
}
else
{
$r['url'] = ‘:’.'<a href=’.$MODULE['member']['url'].’view.php?userid=’.$r['userid'].’>’.$r['username'].’</a>’;
}
$comments['info'][] = $r;
}
return $comments;
}
下面添加一个函数如下
function get_list1($keyid, $page = 1, $pagesize)
{
global $MODULE;
$keyid = trim($keyid);
$page = max(intval($page), 1);
$offset = $pagesize*($page-1);
$comments = array();
$count = cache_count(“SELECT COUNT(*) AS `count` FROM `$this->_comment_table` WHERE `keyid`=’{$keyid}’ AND `status`=’1′”);
$comments['pages'] = pages($count, $page, $pagesize);
$ip_area = load(‘ip_area.class.php’);
$result = $this->db->query(“SELECT `commentid` , `username` , `support` , `against` , `ip` , `addtime` , `status` , `content` , c.userid, `avatar` , `aid` , `filepath`
FROM `$this->_comment_table` c left join `phpcms_member_info` i on i.userid=c.userid left join `phpcms_attachment` a on a.aid=i.avatar WHERE `keyid` = ‘{$keyid}’ AND `status` = ’1′ ORDER BY `addtime` DESC limit $offset,$pagesize”);
while($r = $this->db->fetch_array($result))
{
//$r['content'] = preg_replace_callback(“/\[smile_[0-9]{1,3}\]/”, ‘smilecallback’, $r['content']);
$r['content'] = str_replace( ‘‘, ‘
‘, $r['content']);
$r['content'] = str_replace( ‘[blue]‘, ‘‘, $r['content']);
$r['content'] = str_replace( ‘‘, ”, $r['content']);
$r['content'] = str_replace( ‘[/blue]‘, ‘‘, $r['content']);
$r['addtime'] = date(‘Y-m-d H:m:s’,$r['addtime']);
list($r['ip_area'], ) = explode(‘ ‘, $ip_area->get($r['ip']));
$r['ip_area'] = $r['ip_area'].’网友’;
$r['ip'] = preg_replace(“/^([0-9]{1,3}\.[0-9]{1,3})\.[0-9]{1,3}\.[0-9]{1,3}$/”, “\\1.*.*”, $r['ip']);
if($r['filepath']){
$r['filepath'] = ‘uploadfile/’.$r['filepath'];
}else {$r['filepath'] = ‘images/thumb_150_150_nophoto.gif’;}
//$r['ip'] = $r['ip'].’:’;
$userid = $r['userid'];
if(!$r['userid'])
{
$r['url'] = ‘:’.$r['username'];
}
else
{
$r['url'] = ‘:’.”.$r['username'].”;
}
$comments['info'][] = $r;
}return $comments;
}
修改文件comment/comment.php找到
default:
$keyid = trim($keyid);
$verify = trim($verify);
if(empty($keyid) || !keyid_verify($keyid, $verify)) showmessage(‘非法操作’);
$setting = cache_read(‘module_comment.php’);
$content = keyid_get($keyid);
$url = $content['url'];
$head['title'] = $title = $content['title'];
$pagesize = $setting['maxnum'] ? $setting['maxnum'] : 10;
$page = isset($page) ? intval($page) : 1;
$comments = $comments->get_list($keyid,$page, $pagesize);
$pages = $comments['pages'];
include template(‘comment’, ‘list’);//reply
break;
在下面加入函数
case ‘js’:
$keyid = trim($keyid);
$verify = trim($verify);
if(empty($keyid) || !keyid_verify($keyid, $verify)) showmessage(‘非法操作’);
$setting = cache_read(‘module_comment.php’);
$content = keyid_get($keyid);
$url = $content['url'];
$head['title'] = $title = $content['title'];
$pagesize = $setting['maxnum'] ? $setting['maxnum'] : 10;
$page = isset($page) ? intval($page) : 1;
$comments = $comments->get_list1($keyid,$page, $pagesize);
$pages = $comments['pages'];
include template(‘comment’, ‘js’);//reply
找到templates/default/comment\ 目录
新建一个js.html文件内容如下
document.write(“<style> .plbox{width:97%; border:1px solid #bde3fd;margin:5px auto;overflow:hidden;}.plbox img {float:left;width:80px;height:74px;margin:5px;border:1px solid #bde3fd;padding:2px;}.commentbox{float:right;overflow:hidden;margin-top:2px;margin-right:2px;width:84%; } .commenthead{ background:#EDF8FE; color:c; border:1px solid #fff; line-height:26px; height:26px; padding:0 6px;}.commenthead img{ float:right; margin:7px 10px 0 0; }.commenttext{ padding:10px;}.commenttext p{ font-size:14px; padding:5px; text-indent:2em;}.commentfunction{ border:1px solid #fff; text-align:right; border-top:1px dotted #bde3fd; color:c; line-height:24px; padding-right:15px;}.reply{ border:1px solid #bde3fd; border-left-width:5px; padding:5px 10px; font-size:12px; margin:10px auto; text-indent:0; line-height:180%;width:77%; color:4545;}.reply p{ margin:2px auto; text-indent:2em; line-height:150%;font-size:12px;}</style>”);
{loop $comments['info'] $comment}
document.write(“<link href=\”/{SKIN_PATH}comment2.css\” rel=\”stylesheet\” type=\”text/css\” /><div class=\”plbox\”><img src=\”{$comment['filepath']}\”><div class=\”commentbox\”><div class=\”commenthead\”><span class=\”f_r\”>{$comment['addtime']}发表 </span><strong>{$comment['ip_area']} IP:{$comment['ip']}</strong><span>{$comment['url']}</span></div><div class=\”commenttext\”>{$comment['content']}</div><div class=\”commentfunction\”><a href=\”javascript:ajaxload({$comment[commentid]});\”>回复</a>|<span id=\”count_{$comment[commentid]}_1\”><a id=\”votefor_{$comment[commentid]}\” href=\”javascript:voteFor({$comment[commentid]});\”>支持({$comment[support]})</a></span>|<span id=\”count_{$comment[commentid]}_0\”><a href=\”javascript:voteAgainst({$comment[commentid]});\”>反对({$comment[against]})</a></span></div></div></div><div id=\”repley_layer\”></div>”);
{/loop}$().ready(function() {
$(‘#comment’).val(“我也来说两句!”);
});
function reply_clearfield()
{
if ($(‘#comment’).val() == “我也来说两句!”)
{
$(‘#comment’).val(“”);
}
}
function reply_restoration()
{
if($(‘#comment’).val() == ”)
{
$(‘#comment’).val(“我也来说两句!”);
}
}
function ajaxload(commentid)
{
//var title = {$title};
var data = “&commentid=”+commentid+”&keyid={$keyid}&verify={$verify}” ;
var url = “{$MODULE[comment][url]}?action=ajaxpost”;
$.ajax({
type: “POST”,
url: url,
data: data,
success: function(msg){
$(‘#repley_layer’).html(msg);
}
});
}
function voteFor(id)
{
this.id = id;
var url = “comment/?action=vote”;
var data = ‘&id=’+id + ‘&field=support’;
$.ajax({
url: url,
data: data,
type: ‘post’,
success :function (msg){
$(‘#count_’+ id+’_1′).text(msg);
}
});
}
/**
* 反对
**/
function voteAgainst (id )
{
this.id = id;
var url = “comment/?action=vote”;
var data = ‘&id=’+id + ‘&field=against’;
$.ajax({
url: url,
data: data,
type: ‘post’,
success :function (msg){
$(‘#count_’+ id +’_0′).text(msg);
}
});
}
function checkForm()
{
if($(‘#comment’).val() == ” || $(‘#comment’).val() == “我也来说两句!”)
{
alert(“内容不能为空”);
$(‘#comment’).focus();
return false;
}
if($(‘#checkcode’).val() == ” )
{
alert(“验证码不能为空”);
$(‘#checkcode’).focus();
return false;
}
if ($(‘#comment’).val().length > 1000)
{
alert(“内容太长,最多 1000 个文字”);
return false;
}
/*if( getcookie(‘{$keyid}’) )
{
alert(“请不要灌水”);
return false;
}*/
}
function close()
{
$(“#repley_layer”).html(“”);
}
内容页模板调用方法
<script type=”text/javascript” src=”{$PHPCMS[siteurl]}comment/?keyid={$keyid}&verify={$verify}&action=js”></script>
以上内容修改比较大,注意备份自己的源文件。。
最新评论
写的很不错,多多学习啦!
写得很棒,支持一下。
员工素质实在是太重要了。
你的主题很漂亮,我很喜欢