2013-12-13 2 views
0

Привет, У меня есть эта разбивка на страницы с использованием рамки symfony, мне интересно, как скрыть кнопку, если страница уже находится на первой странице, поэтому предыдущей кнопки нет, и если последняя страница без следующей кнопки.php pagination скрыть предыдущую и следующую кнопку с использованием рамки symfony

Как я могу получить текущую страницу?

Вот мой код:

<?php if ($pager->haveToPaginate()) :?> 
    <div class="pagerWrapper "> 
    <nav> 
     <ul class="pager"> 
     <?php if($currPage != 1):?> 
      <li class="pageNumber"><?php echo link_to('<img alt="Previous Page" src="/images/pager_prev_btn.png" class="page_img" />', url_for('contract/index?page='.$pager->getPreviousPage()), 'class=""')?></li> 
     <?php endif;?> 
     <?php foreach ($pager->getLinks() as $page) :?> 
      <li class="pageNumber"><?php echo link_to($page, url_for('contract/index?page='.$page), ($page == $pager->getPage()) ?'class="selected"' : 'class=""')?></li> 
     <?php endforeach;?> 
     <?php if($pager->getLastPage() != $currPage): ?> 
      <li class="pageNumber"><?php echo link_to('<img alt="Next Page" src="/images/pager_next_btn.png" class="page_img" />', url_for('contract/index?page='.$pager->getNextPage()),'class=""')?></li> 
     <?php endif; ?> 
     </ul> 
    </nav> 
    </div> 
<?php endif;?> 

Heres мой контроллер

public function executeIndex(sfWebRequest $request){ 
    $currPage = $request->getParameter('page', 1); 
    $limit = sfConfig::get('app_contract_list_limit'); 
    $offset = ($currPage - 1) * $limit; 
    $q = ContractTable::getInstance()->getContractList($offset,$limit); 
    $this->contractList = $q->execute(); 

    $this->pager = new sfDoctrinePager('Contract', $limit); 
    $this->pager->setQuery($q); 
    $this->pager->setPage($request->getParameter('page', 1));  

    $this->pager->init(); 
    } 

, пожалуйста, помогите я запуталась, благодаря

ответ

0

Вы можете получить текущую страницу с $pager->getPage() По: http://propelorm.org/reference/model-criteria.html#paginating-results

И для первой и последней страницы вы можете использовать что-то вроде этого:

if (!$pager->isFirstPage()) 
{ 
} 
foreach ($pager->getLinks() as $page) 
{ 
} 
if (!$pager->isLastPage()) 
{ 
} 
+0

Привет спасибо на этом его только> currPage $ this-, что им с помощью ,, ив получил его –