zblog如何调用指定条数的最新留言和读者墙页面制作的方法

调用zblogphp网站的最新留言,最直接的方法就是在侧栏中使用在zblog后台--模块管理中的“最新留言”模块,但是这个方式有一定的限制,只能调用最新的10条留言信息,且留言位置和样式也是比较固定的。

但我们下面要介绍的是可以调用指定条数的最新留言和读者墙页面的制作方法,两个方法均可自定义调用评论或留言条数和自定义CSS样式!

第一种:调用指定条数的最新留言

代码如下:

{php}$comments = $zbp->GetCommentList('*', array(array('=', 'comm_IsChecking', 0),array('<>', 'comm_AuthorID','1')), array('comm_PostTime' => 'DESC'), 8, null);{/php}
{foreach $comments as $comment}{php}$clpl = preg_replace('/[\r\n\s]+/', '', trim(SubStrUTF8(TransferHTML($comment->Content,'[nohtml]'),80)).'');{/php}<li>
<p><a href="{$comment.Post.Url}#cmt{$comment.ID}" target="_blank">{$clpl}</a>
 <small><span><img  alt="{$comment.Author.Name}"  src="{$comment.Author.Avatar}" ></span>
 {$comment.Author.Alias}
评论于:<a href="{$comment.Post.Url}#cmt{$comment.ID}" title="{$comment.Post.Title}" target="_blank">{$comment.Post.Title}</a>
</small>
</p></li>{/foreach}

上面代码就是调用最新的8条网站留言,详细解释下:

第二行代码的阿拉伯数字“1”是只显示除了ID为“1”的用户以外的用户留言,简单点说就是不显示管理员的留言,如果不想限制,把“1”换成其他数字即可;

第二行代码的阿拉伯数字“8”就是调用数量;

以上代码放到要调用的地方即可,其他标签请参照调用出来的内容做对应修改。

第二种:读者墙页面的制作

1、在主题配置include.php文件中,将下面的代码放入其中:

function Readers(){global $zbp;$date =100;$dzgs =100;$b = mktime(0,0,0,date('m'),date('d')-$date,date('Y'));$e = mktime(0,0,0,date('m'),date('d')+1,date('Y'));$x = 1111;$rs=100;$sql = $zbp->db->sql->Select($zbp->table['Comment'],array('COUNT(comm_ID) AS cnt, comm_Name, comm_HomePage , comm_Email'),array(array('<>', 'comm_Email', $x),array('<>', 'comm_Name', '访客'),array('<>', 'comm_Name', 'admin'),array('BETWEEN', 'comm_PostTime', $b, $e),array('CUSTOM', '1=1 GROUP BY comm_HomePage')),array('comm_PostTime' => 'DESC'),$dzgs,null);$array=$zbp->db->Query($sql);$s="<ul class='readers-list'>";$s .="\r\n";
     foreach ($array as $comment) 
    {
     $r="rel='external nofollow'";
     $s .= '<li><a href="'.$comment['comm_HomePage'] . '" ' . $r . ' title="' . $comment['comm_Name'] . '(赐教' . $comment['cnt'] . '次)" target="_blank"><img src="http://cn.gravatar.com/avatar/' .md5(strtolower($comment['comm_Email'])).' &r=X&s=80" alt="avatar" class="avatar avatar-36 photo" height="40" width="40" /><h4>'.$comment['comm_Name'] .'</h4><p>留言 '.$comment['cnt'].' 次</p><div class="clear"></div></a></li>';
    $s .="\r\n";
    }$s .="</ul>";$s .="\r\n";return $s;}

以上代码放到主题配置文件:“include.php”里面。需要修改的参数有:

第三行的100代表调用留言者的时间跨度;第四行的100代表调用留言者的个数;第八行的100也是调用留言者的个数,注意和前一个保持一致。

最下面的<ul></ul>里面即为调用出来的html代码部分了。

2、在模板文件中输出,并显示出读者墙

在你想要读者墙出现的模板文件中加上以下代码:

{php}echo Readers();{/php}

3、读者墙css美化。由于不同的主题风格要求不一样,你可以根据你当前主题的风格添加或修改css样式,让读者墙页面和主题风格更加统一!

相关文章

最新主题