示例#1
0
 /**
  * @param Varien_Data_Collection $collection
  * @throws Exception
  */
 protected function _addPagingHeaderData(Varien_Data_Collection $collection)
 {
     $links = array();
     $totalCount = $collection->getSize();
     $pageSize = $collection->getPageSize();
     $totalPageCount = ceil($totalCount / $pageSize);
     $currentPage = $collection->getCurPage();
     if ($currentPage === null) {
         $currentPage = 1;
     }
     if ($currentPage > 1) {
         $links[] = $this->_getPageLink(1, 'first');
         $links[] = $this->_getPageLink($currentPage - 1, 'prev');
     }
     if ($currentPage < $totalPageCount) {
         $links[] = $this->_getPageLink($currentPage + 1, 'next');
         $links[] = $this->_getPageLink($totalPageCount, 'last');
     }
     $this->getResponse()->setHeader('Link', implode(", ", $links))->setHeader('X-Total-Count', $totalCount)->setHeader('X-Total-Pages', $totalPageCount)->setHeader('X-Current-Page', $currentPage);
 }