Пагинация для DLE - Вывод всех страниц
Стандартная пагинация выглядит так:
111 112 113 114 ... 250 251 252 253
Я захотел её переделать на более удобную мне:
111 112 113 114 115 116 117 118 119 120
121 122 123 124 125 126 127 128 129 130
ну и т.д. Самое сложное оказалось найти где она обрабатывается 🙂
Идем в /engine/modules/show.short.php ( сам движок)
ищем и комментируем следующий блок, чтобы получилось так
1 2 3 4 5 6 7 8 9 |
/* if( $enpages_count <= 10 ) { .. } else { ... } */ |
теперь выше нашего закомментированного блока вставляем
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/* My navigation hack */ $start = $cstart - 2; if ($start<1) $start=1; $end = $enpages_count; $max=134; if ($end-$start>$max) $end=$start+$max; if ($end-$start<$max) $start=$end-$max; if ($start<1) $start=1; if ($end>$enpages_count) $end=$enpages_count; $pcnt=0; for($j = $start; $j <= $end; $j ++) { $pcnt++; $nmj=''; if ($j<10) $nmj.='00'; elseif ($j<100) $nmj.='0'; $nmj.=$j; if( $j != $cstart ) { if( $config['ajax'] ) $go_page = "onclick=\"DlePage('cstart=" . $j . "&" . $user_query . "'); return false;\" "; else $go_page = ""; if( $config['allow_alt_url'] == "yes" ) $pages .= "<a {$go_page}href=\"" . $url_page . "/page/" . $j . "/\">$nmj</a> "; else $pages .= "<a {$go_page}href=\"$PHP_SELF?cstart=$j&$user_query\">$nmj</a> "; } else { $pages .= "<span style=\"text-decoration:underline;\">$nmj</span> "; } if ($pcnt%27==0) $pages.='<br />'; } /* ^^^ My navigation hack ^^^ */ |
ниже нашего блока, ищем
1 2 3 |
$tpl->set( '{pages}', $pages ); |
и добавляем вот это
1 2 3 |
$tpl->set( '{current_page}', $cstart ); |
Теперь идем в /templates/ваш_шаблон/navigation.tpl (шаблон)
и редактируем его по своему вкусу, например у меня так:
1 2 3 4 5 6 7 |
<div align="center" style="margin-bottom:10px; margin-top:10px; padding:4px; background-color:#EEEEEE;"> [prev-link]← Назад[/prev-link] - <span style="font-size:16px;">{current_page}</span> - [next-link]Далі →[/next-link]<br /><br /> {pages} <br style="clear:both"/><br style="clear:both"/> </div> |
Вот и все 🙂
Author: | Tags: /
| Rating:
5 comments.
Write a comment