单独调用评论列表

2013-03-26

<?php
/**
 * 单独页面调用评论列表
 *
 * @author Mr.Asong
 * @link http://mrasong.com
 */
$slug = "message";    //页面缩略名
$limit = 10;    //调用数量
$length = 30;    //截取长度
$ispage = true;    //true 输出slug页面评论,false输出其它所有评论
$isGuestbook = $ispage ? " = " : " <> ";
 
$db = $this->db;    //Typecho_Db::get();
$options = $this->options;    //Typecho_Widget::widget('Widget_Options');
 
$page = $db->fetchRow($db->select()->from('table.contents')
    ->where('table.contents.status = ?', 'publish')
    ->where('table.contents.created < ?', $options->gmtTime)
    ->where('table.contents.slug = ?', $slug));
 
if ($page) {
    $type = $page['type'];
    $routeExists = (NULL != Typecho_Router::get($type));
    $page['pathinfo'] = $routeExists ? Typecho_Router::url($type, $page) : '#';
    $page['permalink'] = Typecho_Common::url($page['pathinfo'], $options->index);
 
    $comments = $db->fetchAll($db->select()->from('table.comments')
        ->where('table.comments.status = ?', 'approved')
        ->where('table.comments.created < ?', $options->gmtTime)
        ->where('table.comments.type = ?', 'comment')
        ->where('table.comments.cid ' . $isGuestbook . ' ?', $page['cid'])
        ->order('table.comments.created', Typecho_Db::SORT_DESC)
        ->limit($limit));
 
    foreach ($comments AS $comment) {
        echo '<li>';
        echo '<a href="' . $page['permalink'] . "#comment-" . $comment['coid'] . '" title="' . $comment['text'] . '">';
        echo Typecho_Common::subStr(strip_tags($comment['text']), 0, $length, '...') . '</a>';
        echo '</li>';
    }
} else {
    echo "<li>No Comments</li>";
}
//不需要结束标志,并空一行