Помощник
|
Качественная паджинация |
gaaarfild
|
Сообщение
#1
|
||
|
|
||
|
|||
ZiTosS |
20.6.2010, 8:02;
Ответить: ZiTosS
Сообщение
#2
|
|
gaaarfild, Ничего сложного, просто у тебя в модуле навигации должна быть функция, которая отвечает за вывод ссылок - номеров страниц. Вот её надо доработать, она должна выводить от номера текущей страницы, несколько до, и несколько после. Для этого можно добавить в модуль либо одну, либо 2 функции, которые будут относительно текущего номера печатать 3 ссылки до, и которые будут печатать 3 ссылки после.
Не понимаю, в чем сложность реализации... А если приглядеться, то лучше стоило бы засунуть эти функции навигации в отдельный класс, навигатор. Используя классы, намного удобнее держать состояния объекта (номер текущей страницы, сколько всего страниц, сколько всего записей, сколько записей на страницу, сколько страниц распечатать от текущей и др.) и методы, совершаемые над ним. 1) Проверка валидности переданных количества страниц, как "сколько всего записей/сколько записей на страницу == сколько всего страниц" 2) Вывод ссылок навигатора 3) Множество внутренних методов, недоступных извне, используемых для формирования нужного оформительского представления: Есть ли ссылка на первую страницу и кликабельна ли она Есть ли ссылка на последнюю страницу и кликабельна ли она Есть ли ссылка на предыдущую страницу и кликабельна ли она Есть ли ссылка на последующую страницу и кликабельна ли она Много чего можно придумать, главное всё это для себя на бумажке представить, что откуда вызывается и что от чего зависит. А класс навигации я уже выкладывал, там реализовано то, что тебе нужно |
|
|
gaaarfild
|
Сообщение
#3
|
|
Ну у меня она и есть в классе. Правда в статическом.Поэтому, не сильно отличается от функции.
|
|
|
ZiTosS |
21.6.2010, 12:20;
Ответить: ZiTosS
Сообщение
#4
|
|
gaaarfild, Тогда покажу тебе как это реализовано в одном классе:
Класс имеет параметры, некоторые из них: [php] var $currentstartpage; // первая страница в выводе var $currentendpage; // последняя страница в выводе var $currentpage; // текущая страница var $totalpages; // общее количество страниц (высчитывается в конструкторе и заносится) var $maxpagesshown; // какой разброс в количестве страниц от текущей (дисперсия xD)[/php] В конструкторе, при создании объекта вызываются методы, вот некоторые из них: [php] $this->calculateCurrentStartPage(); // метод пересчитывает с какой страницы начать вывод навигации $this->calculateCurrentEndPage(); // метод пересчитывает какой страницой закончить вывод навигации[/php] Вот эти методы: [php] function calculateCurrentStartPage(){ $this->currentstartpage = $this->currentpage - $this->maxpagesshown; if($this->currentstartpage < 0) $this->currentstartpage = 0; } function calculateCurrentEndPage(){ $this->currentendpage = $this->currentpage + $this->maxpagesshown; if($this->currentendpage > $this->totalpages) $this->currentendpage = $this->totalpages; }[/php] А вывод ссылок осуществляется в цикле public методом getNavigate в цикле [php]for($x = $this->currentstartpage; $x < $this->currentendpage; $x++){ ... }[/php] |
|
|
gaaarfild
|
Сообщение
#5
|
|
А сам этот один класс есть на земле? =)
|
|
|
ZiTosS |
22.6.2010, 12:36;
Ответить: ZiTosS
Сообщение
#6
|
|
|
gaaarfild, есть и я его уже кучу раз выкладывал.
Лови.
Прикрепленные файлы
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Качественная накрутка соцсетей инст/вк/ок/фб/тт/тг/ют Live-smm.ru |
241 | Garik0503 | 126403 | 17.4.2024, 11:29 автор: Garik0503 |
|
Profit-smm.ru - (просмотры даром)качественная раскрутка в Vk/Inst/Yt/Tg/Tiktok за наилучшую цену! | 76 | Romanusss | 41338 | 21.2.2024, 13:04 автор: Romanusss |
|
Качественная накрутка счетчиков/трафик Накрутка статистики,посещений |
57 | seostock | 50034 | 14.1.2024, 0:47 автор: Zuzj |
|
Качественная и недорогая верстка. Натяжка на WordPress от 10$ |
1 | bbkd | 6046 | 27.9.2021, 22:21 автор: bbkd |
|
Сотрудничество и качественная обработка трафика | 4 | BNRKmaster | 893 | 12.6.2021, 13:02 автор: NormanSky |
Текстовая версия | Сейчас: 23.4.2024, 10:57 |