现在的位置: 首页Web技术>正文

phpcms2008评论显示头像的方法

发表于:2010年10月14日 分类:Web技术 添加评论 10 views

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>

以上内容修改比较大,注意备份自己的源文件。。

固定链接: http://www.cmscoo.com.cn/web/phpcms2008-pinglun-touxiang.html | CMS酷
更多


给我留言

/ 快捷键:Ctrl+Enter

留言没头像?这里教你设置头像!