Typecho常用代码之:单独调用评论列表

2014年03月04日 / 技术相关 / 标签:typecho,代码

Typecho常用代码之:单独调用评论列表:

<?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>";
}
//不需要结束标志,并空一行

添加新评论

分类列表

随机文章

最新文章

最近回复

  • php: 感谢可以用了
  • 厉害了!: 厉害了!!!真的可以安装运行了。
  • 赵赵: 还是不行 求大佬指导
  • 受害人: 感谢 十分感谢
  • 过路人: 这个方法很管用,直接安装多次都是失败 按照楼主的法子一次就搞定。谢谢!
  • yjl: 很久没更新了?
  • 阿策阳光: 博主威武,完美的解决了问题。
  • servers: 基本上很少用电信联通的了,太贵

归档