#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()
в ссылке.