#71 2011.12.16 11:58

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Функция навигации по страницам

Исправил.

Неактивен

#72 2011.12.16 18:13

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Функция навигации по страницам

Пытаюсь сделать типа если недостает ранжировка до (2 * $range + 1) то перебросить значения с начала в конец. И наоборот.
Пока чет не соображу.

Код:

1
span style="color: #0000BB"><?php$range = 3;/*[1] 2 3 4 5 6 73 4 5 [6] 7 8 93 4 5 6 7 8 [9]*/?>

Отредактировано tipsun (2011.12.16 18:16)

Неактивен

#73 2011.12.17 10:11

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Функция навигации по страницам

Кажется получилось!!!

Смотрел при 10-100 записях (10 записей = 1стр.) нормально.

Код:

1
span style="color: #0000BB"><?php public function getPageRange($range=null) { $range = (is_numeric($range) and 0 < $range) ? (int)$range : 4; $prev = $this->getPage() - $range; $next = $this->_page + $range; $start = $this->getPages() < $next ? $this->_pages - $next + $prev : $prev; $stop = 1 > $prev ? $next - $prev + 1 : $next; $start = 1 < $start ? $start : 1; $stop = $this->_pages > $stop ? $stop : $this->_pages; return range($start, $stop); }?>

Отредактировано tipsun (2011.12.17 12:10)

Неактивен

#74 2011.12.18 22:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Функция навигации по страницам

без каментов ничего не понимаю =ь
а так с ходу видно, что 4 нужно в настройки вынести.

Неактивен

#75 2011.12.18 22:12

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Функция навигации по страницам

Ну это предназначалось для перекидывания значений между начальной и конечной точкой.
Т.е. вместо:
- 1) [1] 2 3 4
будет:
[1] 2 3 4 5 6 7
т.е. минусовая ранжировка превратилась в плюсовую.
Для чего это?
Для плавной прокрутки.
Вместо:
- 2) 1 [2] 3 4 5
будет:
1 [2] 3 4 5 6 7
И чо?
Ну если посмотреть в пункт (1) там 4 элемента. А в (2) уже 5.
В принципе это все не так уж необходимо. big_smile
- - - -
Еще думаю добавить начальную и конечную страницу,
но при этом нарушается плавность.

Отредактировано tipsun (2011.12.18 22:25)

Неактивен

#76 2011.12.19 16:41

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Функция навигации по страницам

Получилось! http://wapinet.ru/forum/download.php?aid=949

Строго 7 элементов/квадратиков с номерами страниц, при использовании -2/+2 ранжировки.

Код:

1
span style="color: #0000BB"><?php /** * pageMan::getPageRange() * Получение ближайшего отрезка номеров страниц для создания навигации вида: (1 10 11 [12] 13 14 n). * @return array */ public function getPageRange($range=null) { if (1 == $this->getPages()) return array(1); $range = (is_numeric($range) and 0 < $range) ? (int)$range : 4; //про 4 не забыл. =) В константу её. $prev = $this->getPage() - $range; $next = $this->_page + $range; $start = $this->getPages() < $next ? $this->_pages - $next + $prev : $prev; $stop = 1 > $prev ? $next - $prev + 1 : $next; $start -= $this->_pages <= $stop ? 1 : 0; $stop += 1 >= $start ? 1 : 0; $start = 1 < $start ? $start : 1; $stop = $this->_pages > $stop ? $stop : $this->_pages; $array = range($start, $stop); if (1 < $start) { array_unshift($array, 1); } if ($this->_pages > $stop) { $array[] = $this->_pages; } return $array; }?>

Вложения

Отредактировано tipsun (2012.01.05 13:18)

Неактивен

#77 2011.12.20 09:55

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Функция навигации по страницам

В ZF надо посмотреть есть ли такой же метод ранжировки. Скорее всего конечно же есть. И наверно проще сделано. sad

Отредактировано tipsun (2011.12.20 11:30)

Неактивен

#78 2011.12.20 22:02

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Функция навигации по страницам

Вот, для наглядности.


Вложения

Неактивен

#79 2011.12.20 22:16

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Функция навигации по страницам

phpDoc не совсем верные
@return object замени на @return pageMan
@param mixed $count на @param integer $count
и тд. так же убери pageMan::getTable() и проч, как будто ты описываешь статические методы.
а так, не вдаваясь в подробности выглядит норм.

Неактивен

#80 2011.12.20 22:24

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Функция навигации по страницам

Ок, спс.

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.020 s