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

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

Здравствуйте.

Вот хотел узнать, если кто-то знает, как сделать нумерацию страниц, похожую на ту, что используется на nnm.ru

2003362695345834904_th.jpg

Немного побаловался с таблицами стилей, но у меня получается, что желаемым образом выводятся только неактивные страницы.В оригинале должно получаться, что активная страница с новостями выделяется тёмно-серым цветом, а при наведении мышки на другой номер страницы выделение происходит светло-серым.

Изменено пользователем alkov
Ссылка на сообщение
Поделиться на других сайтах

alkov, у меня тоже не получается сделать ссылки на неактивные страницы с нормальным оформлением... И к тому же ещё мешаются квадратные скобки... [1] 2 3 4 ...

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

WindowZ.ru

Как они сделали это ?

Естественно с помощью css, как же ещё... Молодец, что нашёл этот сайт, на этом примере я всё таки сделал нумерацию страниц более-менее похожую на ту, что стоит на nnm.ru . Просто у ноу-неймов собственный движок, и пока разберёшься в структуре - ногу сломаешь. Короче, вернёмся к нашим баранам.

1. Необходимо добавить в конец файла \templates\site\css\style.css следующие строки

.ctitlev{color:#666; border:0px;}

.ctitlev p a:link,.ctitlev p a:visited,.ctitlev p a:hover,.ctitlev p a:active{text-decoration:none;color: #4b719e;background:#fff;border:1px solid #ccc;padding:2px 5px;font-size:10px}

.ctitlev p a:hover{background:#fbdb3b;color:#000;border-color:#666}

.ctitlev p{margin:4px 6px}

.ctitlev p span{text-decoration:none;background:#fff;padding:2px 5px;border:1px solid #ccc;color:#ccc;font-size:10px}

.ctitlev h4{margin-top:-1.45em;padding:0;border:none}
естественно можно поиграться с цветами для достижения желаемого эффекта. Я оставил так как в оригинале. 2. Немного меняем файл шаблона, ответственного за вывод навигации по номерам страниц (\templates\site\navigation.tpl). У меня он выглядит так
<TABLE style="тут стоит стиль вывода под мой дизайн" width="100%"  bgcolor="#ffffff">

<TBODY>

<TR>

<TD>

<CENTER>

<div class="ctitlev" align="center">

<p style="text-align:center" style="padding-top:0px; padding-bottom:10px">

[prev-link]« Назад..[/prev-link] {pages} [next-link]Вперёд »[/next-link]

</p></div>

</CENTER>

</TD>

</TR>

</TBODY>

</TABLE>
3. И последнее. Необходимо немного "обработать" файл /engine/modules/show.short.php. Обработка состоит в том, что-бы добавить теги <span> и </span> в несколько мест скрипта. Этим мы достигнем того, что неактивные страницы будут иметь аналогичное форматирование и исчезнут квадратные скобки. Вот кусок кода, сравните со своим оригиналом
//################################################################################

####################################

//		 Навигация по новостям

//################################################################################

####################################

	 if (!isset($view_template))  $tpl->load_template('navigation.tpl');


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

	// Previous link

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


	$no_prev = false; 

	$no_next = false;


	if(isset($cstart) and $cstart != "" and $cstart > 0){

		$prev = $cstart / $config['news_number'];


		if ($config['ajax']) $go_page = "onclick=\"DlePage('cstart=".$prev."&".$user_query."'); return false;\" "; else $go_page = "";


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

		  $prev_page = $url_page."/page/".$prev."/";

		  $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si", "<a {$go_page}href=\"".$prev_page."\">\\1</a>");

		} else {

		  $prev_page = $PHP_SELF."?cstart=".$prev."&".$user_query;

		  $tpl->set_block("'\[prev-link\](.*?)\[/prev-link\]'si", "<a {$go_page}href=\"".$prev_page."\">\\1</a>");

		};


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


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

	// Pages

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

	if($config['news_number']){

	$row = $db->super_query($sql_count);

	$count_all = $row['count'];


	$pages_count = @ceil($count_all/$config['news_number']);

	$pages_start_from = 0;

	$pages = "";

	$pages_per_section = 3;

	if($pages_count > 10)

		 {

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

			  {

			   if($pages_start_from != $cstart)

				   {

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

	$pages .= "<a href=\"".$url_page."/page/".$j."/\">$j</a> ";

	else

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

					 }

					   else

						  {

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

						  }

			  $pages_start_from += $config['news_number'];

				 }

			 if(((($cstart / $config['news_number']) + 1) > 1) && ((($cstart / $config['news_number']) + 1) < $pages_count))

				{

			   $pages   .= ((($cstart / $config['news_number']) + 1) > ($pages_per_section + 2)) ? '... ' : ' ';

			   $page_min = ((($cstart / $config['news_number']) + 1) > ($pages_per_section + 1)) ? ($cstart / $config['news_number']) : ($pages_per_section + 1);

			   $page_max = ((($cstart / $config['news_number']) + 1) < ($pages_count - ($pages_per_section + 1))) ? (($cstart / $config['news_number']) + 1) : $pages_count - ($pages_per_section + 1);


			   $pages_start_from = ($page_min - 1) * $config['news_number'];


					 for($j = $page_min; $j < $page_max + ($pages_per_section - 1); $j++)

						 {

						   if($pages_start_from != $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."/\">$j</a> ";

		else

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


									}

									else

									{

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

									}

								   $pages_start_from += $config['news_number'];

						  }

						   $pages .= ((($cstart / $config['news_number']) + 1) < $pages_count - ($pages_per_section + 1)) ? '... ' : ' ';


						}

						else

						{

								$pages .= '... ';

						}


						$pages_start_from = ($pages_count - $pages_per_section) * $config['news_number'];

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

						{

								if($pages_start_from != $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."/\">$j</a> ";

		else

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

								}

								else

								{

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

								}

								$pages_start_from += $config['news_number'];

						}


				}

				else

				{

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

						{

								if($pages_start_from != $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."/\">$j</a> ";

		else

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


								}

								else

								{

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

								}

								$pages_start_from += $config['news_number'];

						}

				}

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

		}


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

// Next link

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

	if($config['news_number'] < $count_all and $i < $count_all){

		$next_page = $i / $config['news_number'] + 1;


		if ($config['ajax']) $go_page = "onclick=\"DlePage('cstart=".$next_page."&".$user_query."'); return false;\" "; else $go_page = "";


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

			 $next = $url_page.'/page/'.$next_page.'/';

			 $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si", "<a {$go_page}href=\"".$next."\">\\1</a>");

		} else {

			 $next = $PHP_SELF."?cstart=".$next_page."&".$user_query;

			 $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si", "<a {$go_page}href=\"".$next."\">\\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();

	}

?>

Вот чего я добился в итоге

3yd5fy8.gif

здесь я нахожусь на 2 странице новостей, а на 3 наведена мышка.

-CannabiS- - второй раз пролетел с деньгами :) ... Сорри

Изменено пользователем alkov
Ссылка на сообщение
Поделиться на других сайтах

WindowZ.ru

Как они сделали это ?

Естественно с помощью css, как же ещё... Молодец, что нашёл этот сайт, на этом примере я всё таки сделал нумерацию страниц более-менее похожую на ту, что стоит на nnm.ru . Просто у ноу-неймов собственный движок, и пока разберёшься в структуре - ногу сломаешь. Короче, вернёмся к нашим баранам.

.....

Вот чего я добился в итоге

3yd5fy8.gif

здесь я нахожусь на 2 странице новостей, а на 3 наведена мышка.

-CannabiS- - второй раз пролетел с деньгами :) ... Сорри

Ой малодец, больфое тебе спасибо, чичас затестим! "А что там с деньгами? Где это второй раз я фпролёте ? и в каком это плане?" я имел ввиду за 1 wmz кто сможет сделать, но рас тут на паблик даже сделали то вот отписался <_<

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

и ещё в файлах

lastcomments.php

c_navigation.php

search.php

по аналогии с верхними изменениями.... вставлять в нужное место <span> и так же заменять [$j] на <span>$j</span> Больше вроде ни где не нашёл :huh:

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

-CannabiS-, ну тогда давай твой вебмани. А хотя не надо. Приятно делать добрые весчи... :P

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

-CannabiS-, ну тогда давай твой вебмани. А хотя не надо. Приятно делать добрые весчи... :P

Смотрю ты на форуме всем на халяву помогаешь! И это и есть прекрасно на этом чудном белом свете, большое тебе спасибо. Побольше бы таких людей :D

Щас закончил все свои модули редактировать с навигаций по страницам :) Спасибо

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

Сейчас мы друг у друга расплачемся на плече... Ладно, решение найдено, поэтому воздержимся от ненужного флуда. Всем спасибо, тема закрыта.

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

alkov, опа, супер ! Спасибо %)

Да я оттуда тоже цсс взял... но у меня неактивные линки не отображались нормально... И я не изменял php код :)

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

Я чето никак не могу врубится,что править надо в lastcomments.php

c_navigation.php

search.php

Все переделал,не пашет :((

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

Dream, в NAVIGATION.TPL убираешь всё, что стоит под тегами [prev-link][/prev-link] и [next-link][/next-link] включая эти теги ( то есть оставляешь только тег {pages} )

El1teGuard, в LASTCOMMENTS.PHP

//################################################################################

####################################

//		 Навигация по новостям

//################################################################################

####################################


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

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

	// Previous link

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

	if($cstart > 0){

	  $prev = $cstart / $number;

	  $prev_page = $PHP_SELF."?cstart=".$prev."&amp;".$user_query;

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


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


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

	// Pages

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

	if($number){

	$count_all = $row_count['count'];


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

	$pages_start_from = 0;

	$pages = "";

	$pages_per_section = 3;

	if($pages_count > 10)

		 {

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

			  {

			   if($pages_start_from != $cstart)

				   {

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

					 }

					   else

						  {

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

						  }

			  $pages_start_from += $number;

				 }

			 if(((($cstart / $number) + 1) > 1) && ((($cstart / $number) + 1) < $pages_count))

				{

			   $pages   .= ((($cstart / $number) + 1) > ($pages_per_section + 2)) ? '... ' : ' ';

			   $page_min = ((($cstart / $number) + 1) > ($pages_per_section + 1)) ? ($cstart / $number) : ($pages_per_section + 1);

			   $page_max = ((($cstart / $number) + 1) < ($pages_count - ($pages_per_section + 1))) ? (($cstart / $number) + 1) : $pages_count - ($pages_per_section + 1);


			   $pages_start_from = ($page_min - 1) * $number;


					 for($j = $page_min; $j < $page_max + ($pages_per_section - 1); $j++)

						 {

						   if($pages_start_from != $cstart)

										{


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

									}

									else

									{

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

									}

								   $pages_start_from += $number;

						  }

						   $pages .= ((($cstart / $number) + 1) < $pages_count - ($pages_per_section + 1)) ? '... ' : ' ';


						}

						else

						{

								$pages .= '... ';

						}


						$pages_start_from = ($pages_count - $pages_per_section) * $number;

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

						{

								if($pages_start_from != $cstart)

								{


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

								}

								else

								{

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

								}

								$pages_start_from += $number;

						}


				}

				else

				{

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

						{

								if($pages_start_from != $cstart)

								{

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

								}

								else

								{

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

								}

								$pages_start_from += $number;

						}

				}

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

		}


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

// Next link

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

	if($number < $count_all and $i < $count_all){


	$next_page = $i / $number + 1;

	  $next = $PHP_SELF."?cstart=".$next_page."&amp;".$user_query;

	$tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"".$next."\">\\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();
в 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();
в SEARCH.PHP
//################################################################################

####################################

//		 Навигация по новостям

//################################################################################

####################################

if ($found_result > 0) {

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


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

// Previous link

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

if(isset($search_start) and $search_start != "" and $search_start > 0){

	$prev = $search_start / $config_search_numbers;

	  $prev_page = "<a name=\"prevlink\" id=\"prevlink\" onClick=\"java script:list_submit($prev); return(false)\" href=#>";

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


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


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

// Pages

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

if($config_search_numbers){

  $pages_count = @ceil($count_result/$config_search_numbers);

  $pages_start_from = 0;

  $pages = "";

  $pages_per_side = ($config['pages_per_section']-1) / 2;

  $pages_to_display = ($config['pages_per_section'] * 3) + 1;

  if($pages_count > $pages_to_display) {

	for($j = 1; $j <= $config['pages_per_section']; $j++) {

	  if($pages_start_from != $search_start) {

		  $pages .= "<a onClick=\"java script:list_submit($j); return(false)\" href=#>$j</a> ";

	  } else {

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

	  }

	  $pages_start_from += $config_search_numbers;

	}

	if(((($search_start / $config_search_numbers) + 1) > ($pages_per_side + 1)) && ((($search_start / $config_search_numbers) + 1) < ($pages_count - $pages_per_side))) {

	  $pages   .= ((($search_start / $config_search_numbers) + 1) > ($config['pages_per_section'] + $pages_per_side + 1)) ? '... ' : ' ';

	  $page_min = ((($search_start / $config_search_numbers) + 1) > ($config['pages_per_section'] + $pages_per_side)) ? (($search_start / $config_search_numbers) - $pages_per_side + 1) : ($config['pages_per_section'] + 1);

	  $page_max = ((($search_start / $config_search_numbers) + 1) < ($pages_count - ($config['pages_per_section'] + $pages_per_side - 1))) ? (($search_start / $config_search_numbers) + $pages_per_side + 1) : ($pages_count - $config['pages_per_section']);


	  $pages_start_from = ($page_min - 1) * $config_search_numbers;


	  for($j = $page_min; $j < $page_max + 1; $j++) {

		if($pages_start_from != $search_start) {

			  $pages .= "<a onClick=\"java script:list_submit($j); return(false)\" href=#>$j</a> ";

		} else {

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

		}

		$pages_start_from += $config_search_numbers;

	  }

	  $pages .= ((($search_start / $config_search_numbers) + 1) < $pages_count - ($config['pages_per_section'] + $pages_per_side)) ? '... ' : ' ';


	}

	else {

	  $pages .= '... ';

	}


	$pages_start_from = ($pages_count - $config['pages_per_section']) * $config_search_numbers;

	for($j=($pages_count - ($config['pages_per_section'] - 1)); $j <= $pages_count; $j++) {

	  if($pages_start_from != $search_start) {

		  $pages .= "<a onClick=\"java script:list_submit($j); return(false)\" href=#>$j</a> ";

	  } else {

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

	  }

	  $pages_start_from += $config_search_numbers;

	}


  } else {

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

	  if($pages_start_from != $search_start) {

		  $pages .= "<a onClick=\"java script:list_submit($j); return(false)\" href=#>$j</a> ";

	  } else {

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

	  }

	  $pages_start_from += $config_search_numbers;

	}

  }

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

}


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

// Next link

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

if($config_search_numbers < $count_result and $to_num < $count_result){

  $next_page = $to_num / $config_search_numbers + 1;

  $next = "<a name=\"nextlink\" id=\"nextlink\" onClick=\"java script:list_submit($next_page); return(false)\" href=#>";

  $tpl->set_block("'\[next-link\](.*?)\[/next-link\]'si", $next."\\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();

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

Snow Land, навегация как на www.super-warez.net, как на 5.7 вер

у меня 5.5 хочется себе сделать такую

и еще проблемка

MySQL Error!

------------------------

The Error returned was:

Unknown column 'short_tpl' in 'field list'

Error Number:

1054

INSERT INTO dle_category (parentid, name, alt_name, icon, skin, descr, keywords, news_sort, news_msort, news_number, short_tpl, full_tpl) values ('0', 'Ôîòî', 'foto', '', '', '', '', 'date', 'DESC', '10', '', '')

Как исправить, что нужно править и как?

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

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

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

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

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

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

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

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

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

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