在我的博客中,我的所有帖子按日期排序DESC.I使用分页器,以便每个分页器页面包含大约15个帖子。我还有一个右侧列,其中我有一个所有的链接列表我写了至少一篇文章的几个月:
ARCHIVES
<a href="">january</a>
<a href="">february</a>
<a href="">march</a>
[...]
我希望这些链接中的每一个都指向paginator-page,这恰好是该特定月份的第一篇帖子。如何找到指向特定月份paginator-page的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)
如果不清楚,请告诉我
谢谢
卢卡
答案 0 :(得分:0)
不知道我是否理解正确,但这应该很容易。
当您选择帖子时,查找当月的每个第一个帖子并将其位置存储在数组中。 您现在知道要显示的帖子的编号,并且您知道每个页面都有15个帖子,因此您应该很容易找到您需要的页面。