Разбивка на страницы в Propel ORM

#pagination #propel

#разбивка на страницы #продвигать

Вопрос:

я разбил результаты propel на страницы, все работает нормально, но я не могу заставить эту штуку работать. Я буду очень признателен за любую помощь или решение этой проблемы:

 <?if ($posts->getPage()==???) { ?>
<a href='?p=<?echo end($linkPrevNext);?>'  class="pagNext">next</a>
<?}?>
  

функция getPage() возвращает мне активную страницу, но что я должен поместить на??? чтобы скрыть последнюю ссылку next в propel, некоторые функции, такие как $posts-> getLastPage(), которые действительно работают. Я просто не могу получить какую-либо информацию об этом в документации Propel.

чтобы скрыть первую «предыдущую» ссылку, я использовал это:

 <?if ($posts->getPage()>1) { ?>
<a href='?p=<?echo $linkPrevNext[0];?>'  class="pagPrev">prev</a>
<?}?>
  

Ответ №1:

getLastPage() вернет номер последней страницы. atLastPage() это удобная функция, которая уже выполнит сравнение за вас, а также существует как atFirstPage() . Смотрите документы API для Propel 1.3, 1.4, 1.5 или 1.6.

Ваш код мог бы выглядеть следующим образом:

 <?php if (!$posts->atLastPage()) { ?>
<a href='?p=<?php echo $posts->getLastPage(); ?>'  class="pagNext">next</a>
<?php } ?>
  

Я предположил, что $linkPrevNext содержит только номера страниц, как будто это взято из $posts->getNextLinks() . Если нет, вам, конечно, не следует использовать getLastPage() в ссылке.