X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Качественная паджинация
gaaarfild
gaaarfild
Topic Starter сообщение 20.6.2010, 2:54; Ответить: gaaarfild
Сообщение #1


Как организовать паджинацию, чтобы не просто подряд все номера страниц выводились. А например которые до 3 в обе стороны, а дальше многоточия и последняя и первая страница соответственно.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 20.6.2010, 8:02; Ответить: ZiTosS
Сообщение #2


gaaarfild, Ничего сложного, просто у тебя в модуле навигации должна быть функция, которая отвечает за вывод ссылок - номеров страниц. Вот её надо доработать, она должна выводить от номера текущей страницы, несколько до, и несколько после. Для этого можно добавить в модуль либо одну, либо 2 функции, которые будут относительно текущего номера печатать 3 ссылки до, и которые будут печатать 3 ссылки после.

Не понимаю, в чем сложность реализации...
А если приглядеться, то лучше стоило бы засунуть эти функции навигации в отдельный класс, навигатор. Используя классы, намного удобнее держать состояния объекта (номер текущей страницы, сколько всего страниц, сколько всего записей, сколько записей на страницу, сколько страниц распечатать от текущей и др.) и методы, совершаемые над ним.
1) Проверка валидности переданных количества страниц, как "сколько всего записей/сколько записей на страницу == сколько всего страниц"
2) Вывод ссылок навигатора
3) Множество внутренних методов, недоступных извне, используемых для формирования нужного оформительского представления:
Есть ли ссылка на первую страницу и кликабельна ли она
Есть ли ссылка на последнюю страницу и кликабельна ли она
Есть ли ссылка на предыдущую страницу и кликабельна ли она
Есть ли ссылка на последующую страницу и кликабельна ли она

Много чего можно придумать, главное всё это для себя на бумажке представить, что откуда вызывается и что от чего зависит.
А класс навигации я уже выкладывал, там реализовано то, что тебе нужно :rolleyes:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 21.6.2010, 10:22; Ответить: gaaarfild
Сообщение #3


Ну у меня она и есть в классе. Правда в статическом.Поэтому, не сильно отличается от функции.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
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
gaaarfild
Topic Starter сообщение 22.6.2010, 9:30; Ответить: gaaarfild
Сообщение #5


А сам этот один класс есть на земле? =)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 22.6.2010, 12:36; Ответить: ZiTosS
Сообщение #6


gaaarfild, есть и я его уже кучу раз выкладывал.
Лови.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.

Прикрепленные файлы
Прикрепленный файл  pages.class.zip ( 1,47 килобайт ) Кол-во скачиваний: 97
 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыКачественная накрутка соцсетей инст/вк/ок/фб/тт/тг/ют
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


 



RSS Текстовая версия Сейчас: 23.4.2024, 10:57
Дизайн