【发布时间】:2011-07-04 10:05:20
【问题描述】:
在我的博客中,我的所有帖子都按日期 DESC 排序。我使用分页器,因此每个分页器页面包含大约 15 个帖子。我还有一个右侧列,其中有一个链接列表,用于所有我至少写了一篇文章的月份:
ARCHIVES
<a href="">january</a>
<a href="">february</a>
<a href="">march</a>
[...]
我希望这些链接中的每一个都指向恰好是该特定月份的第一篇文章的分页器页面。我怎样才能找到指向特定月份分页器页面的 href 属性?
我的基本页面是:
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
$postmgr=new Post();
$currentpage=1;
$page=$this->_request->getParam('page');
if(!empty($page))
{
$currentpage=$this->_request->getParam('page');
}
$paginator=$postmgr->paginatePosts($currentpage);
$this->view->paginator=$paginator;
//then I build my monthly archive list..
}
还有我的帖子模型
class Post extends Zend_Db_Table_Abstract
{
function paginatePosts($page=1)
{
$q=$this->select();
$q->order('datetime DESC');
$paginator=new Zend_Paginator(new Zend_Paginator_Adapter_DbTableSelect($q));
$paginator->setItemCountPerPage(15);
$paginator->setCurrentPageNumber($page);
return $paginator;
}
}
这是我用于检索每月列表存档的查询:
SELECT COUNT(*), YEAR(datetime) AS year, MONTHNAME(datetime) AS month FROM
posts GROUP BY year, month ORDER BY year, MONTH(datetime)
如果不清楚请告诉我
谢谢
卢卡
【问题讨论】:
标签: php zend-framework post archive