Перейти к публикации

Переход по страницам как в админке.


Рекомендованные сообщения

Всем привет как сделать такой переход по страницам, как в админке в редактировнии новостей, т.е.: [1][2][3][4][5][6][7][8][9][10]...[150]. Он намного лучше смотрится, чем обычный.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

если правильно понял,

Открыть show.short.php

Найти

if($pages_count > 10)
Заменить на
if($pages_count > 100000)

если это поменять, то будут все страницы видны

а надо чтобы были первые 10, и последняя

Ссылка на сообщение
Поделиться на других сайтах

итак, /engine/modules/c_navigation.php

там есть такое:

	$tpl->load_template('navigation.tpl');

	//----------------------------------

	// Previous link

	//----------------------------------

	if($cstart > 1){

	   $prev = $cstart - 1;

	if ($config['allow_alt_url'] == "yes")

	  $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si", "<a href=\"".$link_page.$prev.",".$news_name.".html\">\\1</a>");

	else

	  $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si", "<a href=\"$PHP_SELF?cstart=".$prev."&amp;$user_query\">\\1</a>");


	}else{ $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si", "<span>\\1</span>"); $no_prev = TRUE; }


	//----------------------------------

	// Pages

	//----------------------------------

	if($number){

	$count_all = $comments_num;


	$pages_count = @ceil($count_all/$number);

	$pages_start_from = 1;

	$pages = "";


	 for($j=1;$j<=$pages_count;$j++)

						{

								if($pages_start_from != $cstart)

								{

	if ($config['allow_alt_url'] == "yes")

	$pages .= "<a href=\"".$link_page.$j.",".$news_name.".html\">$j</a> ";

	else

	$pages .= "<a href=\"$PHP_SELF?cstart=$j&amp;$user_query\">$j</a> ";

								}

								else

								{

										$pages .= " <span>$j</span> ";

								}

								$pages_start_from ++;

						}

				}


				$tpl->set('{pages}', $pages);


//----------------------------------

// Next link

//----------------------------------

	if($cstart < $pages_count){

	$next_page = $cstart + 1;

	if ($config['allow_alt_url'] == "yes")

	  $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"".$link_page.$next_page.",".$news_name.".html\">\\1</a>");

	else

	  $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"$PHP_SELF?cstart=$next_page&amp;$user_query\">\\1</a>");


	}else{ $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si", "<span>\\1</span>"); $no_next = TRUE;}


	if	(!$no_prev or !$no_next){ $tpl->compile('content'); }

	$tpl->clear();

?>
меняем его на такое:
	$tpl->load_template('navigation.tpl');

	//----------------------------------

	// Previous link

	//----------------------------------

	if($cstart > 1){

	   $prev = $cstart - 1;

	if ($config['allow_alt_url'] == "yes")

	  $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si", "<a href=\"".$link_page.$prev.",".$news_name.".html\">\\[1]</a>");

	else

	  $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si", "<a href=\"$PHP_SELF?cstart=".$prev."&amp;$user_query\">\\[1</a>");


	}else{ $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si", "<span>\\1</span>"); $no_prev = TRUE; }


	//----------------------------------

	// Pages

	//----------------------------------

	if($number){

	$count_all = $comments_num;


	$pages_count = @ceil($count_all/$number);

	$pages_start_from = 1;

	$pages = "";


	 for($j=1;$j<=$pages_count;$j++)

						{

								if($pages_start_from != $cstart)

								{

	if ($config['allow_alt_url'] == "yes")

	$pages .= "<a href=\"".$link_page.$j.",".$news_name.".html\">[$j]</a> ";

	else

	$pages .= "<a href=\"$PHP_SELF?cstart=$j&amp;$user_query\">[$j]</a> ";

								}

								else

								{

										$pages .= " <span>$j</span> ";

								}

								$pages_start_from ++;

						}

				}


				$tpl->set('{pages}', $pages);


//----------------------------------

// Next link

//----------------------------------

	if($cstart < $pages_count){

	$next_page = $cstart + 1;

	if ($config['allow_alt_url'] == "yes")

	  $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"".$link_page.$next_page.",".$news_name.".html\">\\[1]</a>");

	else

	  $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"$PHP_SELF?cstart=$next_page&amp;$user_query\">\\[1]</a>");


	}else{ $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si", "<span>\\1</span>"); $no_next = TRUE;}


	if	(!$no_prev or !$no_next){ $tpl->compile('content'); }

	$tpl->clear();

?>

Должно работать, сам не тестил.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...